Fri May 30 15:53:03 UTC 2014  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* input.c (Input_Symbol2): Split into...
	(Input_SymbolNoBar): ...this and...
	(Input_Argument): ...this.
	(Input_Symbol): Make use of Input_SymbolNoBar.
	* input.h (Input_Symbol2): Remove.
	(Input_SymbolNoBar): Add.
	(Input_Argument): Add.
	* lex.c (Lex_GetDefiningLabel): Use Input_Symbol iso Input_Symbol2.
	Add FIXME for a case which is not working.
	(Lex_SkipDefiningLabel): Use Input_Symbol iso Input_Symbol2.
	* macros.c (Macro_Call): Use Input_Argument iso Input_Symbol2.
	(c_macro): Use Input_SymbolNoBar & Input_Argument iso Input_Symbol2.
	* whileif.c (If_Skip): Use Input_SymbolNoBar iso Input_Symbol2.
	(While_Skip): Likewise.

	unittests/compare:
	* core/local_label0.s: Add two new testcases (whom one disabled).
	* core/macro.s: Add testcase.
	* core/macro_args.s: Likewise.

Fri May 30 13:12:56 UTC 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/macros.c: Add missing whileif.h include.

Sun May 25 19:23:20 UTC 2014  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* input.c (Input_Symbol): Update comment.
	* lex.c (Lex_ReadReferringLocalLabel): Use Input_Symbol iso
	Input_Symbol2.

	unittests/compare:
	* core/local_label0.s: Update test case.

Sun May 25 18:59:30 UTC 2014  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* Made headers more standalone.  Cleaned up includes.

Sun May  4 18:56:43 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/input.c (Input_GetString): Fix hexadecimal escape sequence.
	Support \? and \' escape sequences.
	* unittests/compare/core/string.s: Add & update test cases.

Sun May  4 15:35:43 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/def.s: Add disable & currently failing
	test case.

Sun May  4 15:32:44 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/lex.c (Lex_Char2Int): Merge into...
	(Lex_GetPrim): ...this. Add check on empty character constant.  Give
	warning on non-standard multi-character constant and implement it
	differently.
	* unittests/compare/core/directive_data_integer.s: Update test case.

Sun Apr  6 01:04:42 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/directive_storagemap.c: Drop support for ValueCode.
	(c_alloc): Add check on redefinition of mapping label.
	* src/symbol.c (Symbol_Define): When a symbol gets redefined, only
	use the Value_Equal test, Code_Eval should not be necessary anymore.

Sun Apr  6 01:02:51 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/register_types.s: Add test on register
	redefinition.

Sun Apr  6 01:01:28 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/storagemap_register.s: Add BASED AREA test.

Sun Apr  6 00:56:44 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	unittests/compare:
	* core/variables.s: Renamed to...
	* core/gblx_lclx_setx.s: ...this.

Sat Apr  5 23:48:28 CEST 2014  John Tytgat  <John.Tytgat@aaug.net>

	unittests/compare:
	* Makefile.in (OUTPUTTYPE): Define as AOF or ELF depending on output
	fileformat choosen.
	(OUTPUTELF): Remove definition.
	* core/instr_b_bl_blx_reloc.s: Use OUTPUTTYPE instead of OUTPUTELF.
	* core/instr_bx_reloc.s: Likewise.
	* core/instr_cbz_cbnz.s: Likewise.

Sun Mar 16 15:49:25 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpuctrl.c (GetBranchLabel): Improve support for branches to
	absolute addresses.
	(m_branch): Support ValueInt ELF relocs.
	(m_cbnz_cbz): Likewise.
	(m_blx): Likewise.
	* src/reloc.c (Reloc_CreateInternal): Add support for ValueInt
	ELF relocs.
	* src/symbol.h (SymbolAttr::value): Improve comments.

	unittest/reloc:
	* src/branch_no_org.s: Add
	* src/branch_with_org.s: Likewise.
	* src/include/branch.s: Likewise.
	* ref/branch_no_org_aof.txt: Likewise.
	* ref/branch_no_org_elf.txt: Likewise.
	* ref/branch_with_org_aof.txt: Likewise.
	* ref/branch_with_org_elf.txt: Likewise.

Mon Mar 10 02:05:56 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpuctrl.c (m_branch): Simplify test for calling Reloc_CreateELF.
	(m_cbnz_cbz): Likewise.
	(m_blx): Likewise.
	(m_bx): Likewise.
	(m_adr): Likewise.

Sun Mar  9 19:18:48 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/reloc.c (Reloc_SplitRelocAndAddend): Fail during pass one when
	there would be relocation symbol not yet defined/declared.
	* src/reloc.h (RelocAndAddend_t): Fix comments.
	* unittests/compare/core/operator_base_index.s: Add test case.

Sun Mar  9 19:14:35 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/reloc.c (Reloc_GetRawRelocData): Fix mask value in assert.

Sun Mar  9 18:46:15 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/aoffile.h (HOW2_*): Update comments.

Sun Mar  9 18:33:20 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/lit.c (DEBUG_LIT): Fix build.

Thu Feb 27 02:15:48 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpuctrl.c (m_adr): Better support for expression which can
	not yet evaluated during pass one.
	* unittests/compare/core/include/adr.s: Add extra test case.

Tue Feb 25 03:43:08 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (GetInt): Support absolute area labels.
	* unittests/compare/core/org_label.s: Add.

Tue Feb 25 03:02:44 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (Eval_Unop): Support 1 character string and symbol
	for unary +.  Support 1 character string for :INDEX:.

Sun Feb 23 19:37:37 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/symbol.c (Symbol_Print): Fix DEBUG build.

Sun Feb 23 19:07:06 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/error.c (errorCore): Flush stdout first.
	(errorCoreLine): Likewise.

Sun Feb 23 17:49:42 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* common.h: Include string.h when strndup or strdup is available.
	Include strings.h when strncasecmp is available.
	Drop include config.h.
	* directive_data.h: Drop include config.h.
	* global.h: Likewise.
	* help_cpu.h: Likewise.
	* lex.h: Likewise.
	* m_cpumem.h: Likewise.
	* os.h: Likewise.
	* output.h: Likewise.
	* reloc.h: Likewise.

Wed Feb 12 02:05:03 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* configure.ac: Add support for AM_SILENT_RULES (default enabled).

Thu Feb  6 02:43:40 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (Eval_Unop): Fix eOp_RConst type checking.

Wed Feb  5 01:35:21 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/lex.c (Lex_GetBinop): Support ^ as alias for :EOR:.

Tue Feb  4 23:39:00 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/input.c (Input_Symbol): Remove redundant test.

Tue Feb  4 23:27:00 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/symbols.s: Add extra test.

Tue Feb  4 01:21:40 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (Eval_Binop): Fix behaviour for division by zero case.
	(Eval_Unop): Fix wierd implementation when base register is r0.
	* src/value.c: Fix comment for ValueAddr entries.

Tue Jan 28 02:31:30 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (Eval_Binop): Drop support for ValueAddr for eOp_Mul and
	eOp_And.
	* unittests/compare/core/operator_addition_logical.s: Enhance with
	ValueAddr tests.

Sun Jan 26 18:26:55 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (GetInt): Drop support for ValueSymbol.

Sun Jan  5 14:37:59 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	* src/lex.c (Lex_OperatorAsStr): Fix typos.

Wed Jan  1 17:43:54 CET 2014  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* lex.h (Lex): No longer have hash entry for Lex::Data.Id.
	* lex.c (Lex_Id, Lex_MakeReferringLocalLabel)
	(Lex_DefineLocalLabel, Lex_GetUnaryOp, Lex_GetPrim): Follow.
	(lexHashStr): Move to...
	* symbol.c (Symbol_CalculateHash): ...here.
	(EqSymLex, Symbol_Get, Symbol_Find, Symbol_Remove,
	ParseSymbolAndAdjustFlag): Follow.
	* symbol.h (Symbol_Get, Symbol_Find, Symbol_Remove): Change LexId
	argument into string and its length argument.
	* area.c (Area_CreateDWARF, Area_Ensure, c_area): Follow.
	* asm.c (ASM_DefineLabel): Likewise.
	* decode.c (Decode): Likewise.
	* directive_storagemap.c (c_alloc): Likewise.
	* expr.c (Expr_GetPrim): Likewise.
	* get.c (GetRegisterValue): Likewise.
	* input.c (Input_VarSub): Likewise.
	* lit.c (Lit_GetLitOffsetAsSymbol): Likewise.
	* local.c (Local_DefineLabel): Likewise.
	* predef_reg.c (PreDefReg_One): Likewise.
	* variables.c (Var_Define, c_lcl, c_set, Var_RestoreLocals): Likewise.

Wed Dec 25 19:25:40 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* symbol.h (Symbol): Aggregate symbol attributes into SymbolAttr.
	(SymbolAttr): Add.
	* variables.h (VarPos): Move to...
	* variables.c: ...here.
	* area.c, area.h, asm.c, debug_dwarf.c, decode.c, directive_data.c,
	directive_symbol.c, eval.c, expr.c, get.c, help_cop.c, input.c, it.c,
	lex.c, lit.c, m_cpuctrl.c, m_cpumem.c, macros.h, output.c, put.c,
	reloc.c, symbol.c, symbol.h, value.c, variables.c, variables.h: Follow.

Wed Dec 25 17:17:38 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* macro.c (Macro_GetSuffix): Add.
	(Macro_GetSuffixValue): Likewise.
	(Macro_Call): Better macro name reporting for macros with suffix.
	(c_macro): Likewise.
	* macro.h (Macro): Improve comments
	(PObject_Macro): Likewise.
	(Macro_GetSuffix): Add prototype.
	(Macro_GetSuffixValue): Likewise.
	* error.c (errorCore): Better macro name reporting for macros with
	suffix.

Wed Dec 25 16:20:53 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* area.c (Area_MarkStartAs): Avoid/fix scan-build/clang compiler
	warning.
	* debug_dwarf.c (FSObjTree_CreateFileEntry): Likewise.
	(FSObjTree_CreateDirEntry): Likewise.
	* decode.c (Decode): Likewise.
	* eval.c (Eval_Unop): Likewise.
	* lit.c (Lit_RegisterInt): Likewise.
	(Lit_DumpPool): Likewise.
	* m_cpuctrl.c (m_branch): Likewise.
	(m_cps): Likewise.
	* macros.c (Macro_Call): Likewise.
	* reloc.c (Reloc_CreateInternal): Likewise.
	(c_reloc): Likewise.

Sat Dec 21 00:36:48 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	unittests/reloc:
	* ref/reloc_mov32_aof.txt: Update.
	* ref/reloc_mov32_elf.txt: Likewise.

Fri Dec 20 23:05:26 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* m4: Add libtool.m4, ltoptions.m4, ltsugar.m4, ltversion.m4,
	lt~obsolete.m4 to svn:ignore.

Fri Dec 20 23:02:21 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	Automake 1.13 fixes:
	* configure.ac (AM_PROG_CC_C_O): Add.
	(AM_INIT_AUTOMAKE): Drop -Werror.

	* m4/libtool.m4: Remove.
	* m4/ltoptions.m4: Remove.
	* m4/ltsugar.m4: Remove.
	* m4/ltversion.m4: Remove.
	* m4/lt~obsolete.m4: Remove.

Mon Oct  7 21:31:48 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (Eval_Unop): Fix wrong shift for eOp_CCEnc case.
	* unittests/compare/operator_cc_encoding.s: Fix CC_ENCODING results.

Sun Aug  4 14:25:09 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* README: Relocation work is done.

	src:
	* m_cpu.c (m_movw_movt_mov32): Add relocation support.
	* reloc.c (Reloc_SplitRelocAndAddend): Add extra ValueInt case.

	unittests/reloc:
	* src/reloc_mov32.s: Add.
	* ref/reloc_mov32_elf.txt: Add.
	* ref/reloc_mov32_aof: Add.

Sun Aug  4 14:19:31 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpumem.c (dstmem): Reposition instrOffset assignment.

Sun Aug  4 14:10:25 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/put.c (Put_Ins_MOVW_MOVT): Add deprecated and unpredictable
	tests.

Sun Aug  4 13:58:04 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/fix.c (Fix_Int): Output value in hex notation as well in error
	message.  Rename parameters.
	* src/fix.h (Fix_Int): Rename parameters.

Sat Jul 20 19:46:11 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* reloc.c (Reloc_SplitRelocAndAddend): Add.
	* reloc.h (RelocAndAddend_t, Reloc_SplitRelocAndAddend): Add.
	* eval.c (GetInt): Support absolute area symbols.
	(GetValueAddrEquivalent): Add.
	(Eval_Unop): Reimplement :BASE: and :INDEX: using
	GetValueAddrEquivalent.  Explict support absolute area symbol in :STR:.
	* m_cpuctrl.c (GetBranchLabel): Make use of Area_CurIdxAligned.
	(ADRInstrType_e, CanSwitch_e): Add.
	(ADR_RelocUpdaterCore): Make use of CanSwitch_e.
	(m_adr): Make use of Reloc_SplitRelocAndAddend.
	* help_cop.c (HelpCop_Addr): Make use of Reloc_SplitRelocAndAddend.
	* m_cpumem.c (dstmem): Likewise.
	* directive_data.c (DefineInt_HandleSymbols): Follow Value_ResolveSymbol
	API change.
	* area.c, area.h (Area_CurIdxAligned): Add.
	* value.c, value.h (Value_IsLabel): Add.
	(Value_ResolveSymbol): Add resolveAbsArea parameter.
	* expr.c (Expr_GetPrim): For LexPosition, don't make an exception
	for absolute area symbols.
	* symbol.c (c_import): Drop absolute symbol attribute for based
	import symbols.
	* code.c (Code_EvalLowest): Add legal parameter.  Follow
	Value_ResolveSymbol API change.
	(Code_Eval): Follow Code_EvalLowest API change.

	unittests/compare:
	* Makefile.in: Use objdump when there are differences.
	* core/instr_ldr_from_addr.s: Drop tests which generate relocations.
	* core/operator_index.s: Rename to...
	* core/operator_base_index.s: ...this.  Add import based tests.
	Update.
	* core/include/adr.s: Drop tests which generate relocations.  Update.
	* core/instr_ldr.s: Drop tests which  generate relocations.
	* core/storage_map.s: Remove.

	unittests/reloc:
	* src/include/reloc_adr.s: Add.
	* src/reloc_adr_adrl_before_6t2.s: Add.
	* src/reloc_adr_adrl_6t2.s: Add.
	* src/include/keep_all.s: Drop FIXME comment.
	* src/reloc_ldc.s: Add.
	* src/reloc_ldr.s: Add.
	* ref/reloc_adr_adrl_6t2_aof.txt, ref/reloc_adr_adrl_6t2_elf.txt,
	ref/reloc_ldc_aof.txt, ref/reloc_ldr_aof.txt,
	ref/reloc_adr_adrl_before_6t2_aof.txt, ref/reloc_ldc_elf.txt,
	ref/reloc_ldr_elf.txt, ref/reloc_adr_adrl_before_6t2_elf.txt
	* ref/keep_all_before_aof.txt, ref/keep_all_before_elf.txt,
	ref/keep_all_after_elf.txt, ref/keep_all_after_aof.txt,
	ref/import_qualifiers_aof.txt, ref/import_qualifiers_elf.txt: Update.

Sun Jul  7 17:06:29 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* area.c (Area_AlignOffset): Support NOINIT.
	* directive_data.c (c_align): Likewise.

	unittests/reloc:
	* src/area_noinit.s, ref/area_noinit_elf.txt, ref/area_noinit_aof.txt:
	Add.
	* ref/import_label_elf.txt, ref/directive_reloc_all_elf.txt,
	ref/area_elf.txt: Update.

Fri Jul  5 00:36:47 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	unittests/reloc:
	* Makefile.in: Use binutils objdump to disassemble and show relocations
	inplace.  Redirect stderr to temporary output files.
	* ref/*_elf.txt: Update.

Sun Jun 30 14:12:12 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpu.c: Uppercase words unpredictable and deprecated.
	* m_cpumem.c: Likewise.
	* symbol.h: Update comments.
	* area.h (Area_GetBaseReg): Add assert.
	* m_cpuctrl.c: Fix compiler warning.
	* m_coprocessor.c: Cleaned up implementation.  Add support for MCRR2
	and MRRC2.  Add hash character support in front of opcode.

	unittests/compare/core:
	* instr_mcrr_mrrc.s: Add full ARM/Thumb + condition code tests.
	* instr_cdp_mcr_mrc_ldc_stc.s: Add hash character opcode test.

Sun Jun 30 13:58:28 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	unittests/reloc:
	* src/export_label.s: Add test case.
	* ref/export_label_aof.txt, ref/export_label_elf.txt: Update.
	* src/import_qualifiers.s: Fixed typo but also noted that this reveals
	a bug.

Sat Jun 29 22:47:40 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	m4:
	* ltdl.m4: Removed.
	* argz.m4: Removed.
	* libtool.m4: Updated from upstream.

	* configure.ac (AC_CONFIG_MACRO_DIR): Add.

Wed Jun 26 01:48:59 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpuctrl.c (m_cbnz_cbz): Add ELF reloc support.
	* unittests/compare/core/instr_cbz_cbnz.s: Enhance test.

Mon Jun 24 00:14:53 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* put.c (Put_GetHalfWord): Add.
	* put.h (Put_GetHalfWord): Likewise.
	* it.c (IT_ApplyCond): Add enforceLast parameter.
	(IT_CanExtendBlock): Add.
	* it.h: Likewise.
	* m_cpuctrl.c (branch_shared): Refactor into...
	(GetBranchLabel): ...this.
	(BranchLabel_t): Add.
	(m_branch): Make use of GetBranchLabel.  Add Thumb support.
	(m_blx): Likewise.
	(m_bx): Likewise.
	(m_bjx): Likewise.
	(m_cbnz_cbz): Add.
	Follow IT_ApplyCond API change.
	* m_cpuctrl.h (m_cbnz_cbz): Add.
	* reloc.c (Reloc_CreateInternal): Tolerate being called during pass one.
	* decode.c (oDecodeTable): Add CB entry.
	(kDecodeTableIndex_RELOC): Update.
	* m_cpumem.c (LoadStoreMultiple): Make sure LDM/POP with PC is the
	last entry in IT block for Thumb code.
	* m_coprocessor.c: Follow IT_ApplyCond API change.
	* m_cpu.c: Likewise.
	* directive_data.c: Likewise.
	* code.c: Remove area.h include.
	* value.c: Add stdio.h include.

	* unittests/compare/Makefile.in: Add OUTPUTELF variable.
	* unittests/compare/core/instr_smc_smi.s: Update expected output.
	Add test case.
	* unittests/compare/core/instr_ldm_stm_pop_push.s: Add test case.
	* unittests/compare/core/instr_bx_reloc.s: Add.
	* unittests/compare/core/instr_b_bl_blx_reloc.s: Add.
	* unittests/compare/core/instr_cbz_cbnz.s: Add.
	* unittests/compare/core/instr_b_bx_bxj_bl_blx.s: Refactor into...
	* unittests/compare/core/instr_blx_bx_bxj_register.s: ...this.
	Enhance test cases.
	* unittests/compare/core/instr_b_bl_blx_label.s: ...and this.
	Enhance test cases.

Tue Jun 11 22:10:52 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpuctrl.c (m_swi): Add Thumb support.
	(m_bkpt): Make hash parsing optional.
	(Parse_PSR_t): Drop error field.
	(Parse_PSR): Follow Parse_PSR_t change.

	* unittests/compare/core/instr_swi_svc.s: Enhance.
	* unittests/compare/core/instr_bkpt.s: Likewise.

Tue Jun 11 21:49:09 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* decode.c (oDecodeTable): Make BKPT eCB_VoidPMatch.
	* m_cpuctrl.h (m_bkpt): Update prototype.
	* m_cpuctrl.c (m_bkpt): Fix hash parsing.  Add Thumb support.

	* unittests/compare/core/instr_bkpt.s: Enhance.

Tue Jun 11 21:20:45 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpuctrl.c (oBankedReg): Add.
	(GetBankedReg, Parse_PSR_t, Parse_PSR): Add.
	(getpsr): Remove.
	(m_msr): Make use of Parse_PSR instead of getpsr. Add Thumb2 support.
	(m_mrs): Likewise.
	* option.h (ARM_MODE_*): Change into ARM_Mode_e* enum. Add monitor and
	hyp entries.
	* option.c (Option_IsValidARMMode): Follow ARM_MODE_* change.

	* unittests/compare/core/instr_mrs_msr.s: Enhance.

Sun Jun  9 14:47:48 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpuctrl.c (m_sev): Add Thumb and Thumb2 support.
	(m_wfe): Likewise.
	(m_wfi): Likewise.
	(m_yield): Likewise.

	* unittests/compare/Makefile.in: Swap ELF/AOF order.
	* unittests/compare/core/instr_sev_wfe_wfi_yield.s: Enhance.

Sun Jun  9 13:45:49 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* it.c (m_it): Tune warning.
	* m_cpuctrl.c (m_cps): Add Thumb and Thumb2 support.

	* unittests/compare/core/instr_cps.s: Enhance.

Sat Jun  8 23:24:16 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpuctrl (m_dbg): Add Thumb2 support.
	(core_smc_smi): Value should be present.  Add instr parameter.
	(m_smc): Follow core_smc_smi API change.
	(m_smi): Likewise.

	* unittests/compare/core/instr_dbg.s: Enhance.

Sat Jun  8 22:30:20 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* decode.c (oDecodeTable): Use m_smi for SMI.
	* m_cpuctrl.c (m_smc): Factor out to...
	(core_smc_smi): ...this.  Add Thumb2 support.  Parse # optionally.
	(m_smi): Add.
	* m_cpuctrl.h (m_smi): Add.

	* unittests/compare/core/instr_smc_smi.s: Enhance.

Sat Jun  8 19:14:11 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cputctrl.c (ADR_RelocUpdaterCore): Use minus sign for register base
	with negative offset.  Use NOP instruction for second instruction of
	ADRL when possible.
	* option.c (GetOptCCodeAndOptChar): Add.
	(GetCCodeIfThere): Reimplement using switch.
	(Option_CondS): Make use of GetOptCCodeAndOptChar.
	(Option_CondB): Likewise.
	(Option_CondL): Likewise.
	(Option_ADRL): Likewise.
	(Option_CondSP): Add (pre-)UAL checks.  Only warn about P variant when
	keyword is fully detected.

	* unittests/compare/core/include/adr.s: Update for NOP changes.
	Add condition code UAL test.

Sat Jun  8 17:56:35 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/Makefile.in: Let asasm generate dependency file
	and use it.  Use vpath instead of VPATH.
	* unittests/reloc/Makefile.in: Likewise.

Sun Jun  2 23:12:53 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* option.c (Option_LinkCond): Reimplement using ParseState code.
	* m_cpuctrl.c (m_bx): Emit R_ARM_V4BX.

	unittests/compare:
	* Makefile.in: Run tests with ELF output as well.
	* core/instr_b_bx_bxj_bl_blx.s: Add R_ARM_V4BX relocs in reference.

Sun Jun  2 18:46:28 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* decode.c: Drop include main.h.
	* filestack.c (StoreFileName): Rename to FS_StoreFileName.
	(CachedFile_Lookup): Follow StoreFileName rename.
	(FS_PushFilePObject): Likewise.
	* filestack.h (FS_StoreFileName): Add.
	* directive_file.c (c_incbin): Add call FS_StoreFileName.
	* eval.c (Eval_Unop): Likewise for eOp_FLoad, eOp_FExec, eOp_FSize
	and eOp_FAttr.
	* decode.c: Update comment.

Sun Jun  2 18:09:07 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* reloc.c (ARM_Reloc_Types, oARMRelocTypes, Reloc_GetRelocValue,
	c_reloc): Add.
	(Reloc_CreateInternal): Support relocation replacement.  Add more
	asserts.
	* reloc.h (Reloc_State_t): Add offsetForExplicitReloc field.
	(Reloc_EnableExplicitReloc, Reloc_DisableExplicitReloc): Add.
	(c_reloc): Add.
	* Makefile.am (asasm_CFLAGS): Add -Wno-switch.
	* symbol.c (Symbol_MarkToOutput): Add.
	(Symbol_CreateSymbolOut): Remove test on implicit import.
	* symbol.h (Symbol): Update comments.
	(Symbol_MarkToOutput): Add.
	* decode.c (oDecodeTable): Add RELOC entry.
	(Decode): Add Reloc_DisableExplicitReloc and Reloc_EnableExplicitReloc
	calls.
	* directive_data.c (DefineInt): Add Reloc_EnableExplicitReloc call.
	* area.c (Area_PrepareForPhase): Add test on CODE area for NOINIT
	suggestion.

	unittests/reloc:
	* src/directive_reloc.s: Add.
	* src/directive_reloc_all.s: Add.
	* ref/directive_reloc_*: Add.

Sat Jun  1 13:41:22 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* reloc.c (Reloc_Create): Replaced by Reloc_CreateAOF, Reloc_CreateELF.
	(Reloc_InitializeState, Reloc_FinalizeState): Add.
	(Reloc_CreateInternal): Add.
	(Reloc_GetRawRelocData): Add.  Have relocations sorted by offset.
	(Reloc_PrepareRelocOutPart1, Reloc_PrepareRelocOutPart2,
	Reloc_BuildForAOF, Reloc_BuildForELF): Remove.
	* reloc.h (Reloc_State_t): Add.
	(RelocOut): Remove.
	* area.c (Area_Create): Call Reloc_InitializeState.
	(Area_PrepareForPhase): Drop test on presence of relocations for
	NOINIT suggestion.  Call Reloc_FinializeState.
	* area.h (Area): Remove relocs and relocOutP.  Add reloc field.
	* output.c (Output_AOF): Use Reloc_GetRawRelocSize, Reloc_GetNumRelocs,
	Reloc_GetRawRelocData.  Support NOINIT areas with relocations.
	* m_cpuctrl.c (branch_shared): Follow Reloc API change.  Use
	R_ARM_JUMP24 and R_ARM_CALL instead of R_ARM_PC24.
	* help_cop.c (HelpCop_Addr): Likewise.
	* m_cpumem.c (dstmem): Likewise.
	* directive_data.c (DefineInt_HandleSymbols): Likewise.

	unittest/reloc:
	* src/import_label.s: Add NOINIT test case.
	* ref/*.txt: Update.

Wed May 29 01:58:32 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/asm.c (ASM_DefineLabel): Mark local labels not to export at all.
	* unittests/reloc/src/include/keep_all.s: Add local label test case.
	* unittests/reloc/ref/keep_all_after_elf.txt: Update.
	* unittests/reloc/ref/keep_all_before_aof.txt: Likewise.
	* unittests/reloc/ref/keep_all_after_aof.txt: Likewise.
	* unittests/reloc/ref/keep_all_before_elf.txt: Likewise.

Wed May 29 00:59:10 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* strdup.c: Rename to...
	* common.c: ...this.
	* Makefile.am (asasm_SOURCES): Follow strdup.c rename.

Tue May 28 22:41:32 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* COPYING: Update FSF address.
	* src/{*.c,*h}: Likewise.  Use AsAsm as name, instead of AS.

Mon May 27 21:34:07 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* help_cop.c (HelpCop_Addr): Add isThumb parameter.  Add UNPREDICTABLE
	test.
	* help_cop.h (HelpCop_Addr): Add isThumb parameter.
	* m_coprocessor.c (dstmem): Follow HelpCop_Addr API change.
	* src/m_fpe.s (CheckFPUsageIsAllowed): Add test on Thumb mode.
	(dstmem, dstmemx): Follow HelpCop_Addr API change.
	* unittests/compare/core/fpe_literal.s: Add LDC to MVF{S|D}/MNF{S|D}
	conversion tests.

Sun May 26 22:46:52 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* macros.c (AddMacroArg): Add check on macro argument uniqueness.

Sun May 26 21:54:20 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cop.c, m_cop.h: Rename to...
	* m_coprocessor.c, m_coprocessor.h: ...this.
	* m_copmem.c, m_copmem.h: Merge with m_coprocessor.c, m_coprocessor.h.
	* decode.c: Follow header file changes.
	* Makefile.am (asasm_SOURCES): Follow.

Sun May 26 21:35:06 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* help_cop.c (HelpCop_Addr): Follow Lit_RegisterFloat API change.
	* m_cpumem.c (dstmem): Follow Lit_RegisterInt API change.
	* area.h: Follow struct LITPOOL rename.
	* lit.c: Likewise.
	(LitAddrRange, oLitAddrRange): Add.
	(Lit_RegisterInt): Add address and instruction type parameters.
	(Lit_RegisterFloat): Likewise.
	* lit.h (Lit_eAddrType): Add.
	(Lit_RegisterInt, Lit_RegisterFloat): Add address and instruction type
	parameters.

	* unittests/compare/core/fpe_literal.s: Add LDC literal test case.

Sun May 26 21:25:42 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cop.c (m_cdp2, m_mcr2, m_mrc2): Merge into m_cdp, m_mcr and m_mrc.
	(m_cdp, m_mcr, m_mrc, coprocessor): Support Thumb.
	* m_cop.h (m_cdp2, m_mcr2, m_mrc2): Remove.
	* m_copmem.c (m_ldc2, m_stc2): Merge into m_ldc and m_stc.
	(m_ldc, m_stc, dstmem): Support Thumb.
	* m_copmem.h (m_ldc2, m_stc2): Remove.
	* decode.c (oDecodeTable): Follow the m_cdp2, m_mcr2, m_mrc2, m_ldc2,
	m_stc2 removal.
	* help_cop.c (HelpCop_Addr): Label case must support ValueInt, not
	ValueFloat.
	* m_fpe.c (dstmem): Use CPDST_OP instead of DST_OP.
	* m_fpe.h: Fix preprocessor double include test.
	* input.c (Input_IsEndOfKeywordN): Reworked from Input_IsEndOfKeyword.
	* input.h (Input_IsEndOfKeyword): Make inline.
	(Input_IsEndOfKeywordN): Add.
	* m_cpumem.c (m_swp): Drop the cc masking for IT_ApplyCond call.
	* option.c (GetCCodeIfThere): Factor out from Option_GetCCodeIfThere
	and add skipChars parameter.
	(ParseState*): Add.
	(Option_CondL): Implement using ParseState* supporint UAL syntax as
	well.

	unittests/compare/core:
	* fpe_memory.s: Fix comment.
	* instr_cdp_mcr_mrc_ldc_stc.s: Test Thumb and UAL support.

Sun May 26 14:02:26 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/fpe_immediate.s: Fix typo.

Wed May 22 22:25:14 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cop.c (coprocessor): Process optional hash character for opc2.
	* unittests/compare/core/instr_cdp_mcr_mrc_ldc_stc.s: Enhance test
	case.

Mon May 20 20:23:29 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	unittest/reloc:
	* Makefile.in: Use binutils' readelf.
	* *_elf.txt: Update.

Mon May 20 19:13:50 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/predef_reg.c (PreDefReg_PrepareForPhase): Define FPA registers
	only when FPA/FPE is selected or when --regnames=all is specified.

Mon May 20 18:52:56 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* code.c (Code_EvalLow): Merge into...
	(Code_Eval): ...this.
	* code.h (Code_EvalLow): Remove.
	* directive_data.c (DefineInt): Update comment.
	* symbolc (Symbol_BuildSymbolDataForAOF): Remove calls to Code_EvalLow.
	(Symbol_BuildSymbolDataForELF): Likewise.

Mon May 20 17:41:38 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpu.c (m_pkh): Be more whitespace tolerant.  Add CPU minimum
	version check.
	Fix case PKHTB without ASR being specified (bug report by Ben Avison).
	* src/targetcpu.h (kCPUExt_v6_DSP): Update comment.
	* unittests/compare/core/instr_pkhbt_pkhtb.s: Enhanced.

Mon May 20 17:14:29 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/debug_dwarf.c (DWARF_MarkAs): Don't assert for non-CODE areas.

Tue May 14 22:08:28 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* README: Update on DWARF status.
	* src/area.c (Area_CreateDWARF): Add section index argument.
	(Area_FindDWARF): Add.
	* src/area.h: Likewise.
	* src/debug_dwarf.c (DWARF_InitializeState): Initialize
	DWARF_State_t::elfRelocDataP.
	(DWARF_FinalizeState): Free DWARF_State_t::elfRelocDataP.
	(DWARF_OutputSectionData): Assign DWARF reloc section data to DWARF
	section's DWARF_State_t::elfRelocDataP so it can properly free'd.
	* src/debug_dwarf.h (DWARF_State_t::elfRelocDataP): Add.

Tue May 14 00:16:01 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* output.c (Output_ELF): Update comments. Don't assign non-zero sh_addr
	section header values.
	(DWARF code): Move to...
	* debug_dwarf.c, debug_dwarf.h: ...here.
	(DWARF_InitializeState, DWARF_FinalizeState): Add.
	(DWARF_MarkData_Store, DWARF_MarkData_Load, DWARF_MarkAs,
	FSObjTree_CreateFileEntry, FSObjTree_CreateDirEntry,
	DWARF_FSObjTree_Init, DWARF_FSObjTree_Finalize, DWARF_FSObjTree_GetIdx,
	DWARF_DumpDebugLine): Add.
	(DWARF_CreateAreasAndSections): Add .debug_line support.
	* output.h (shstrtab_t, SHSTRTAB_INIT_VALUE, shstrtab_add,
	shstrtab_finish): Add.
	* symbol.c (Symbol_BuildSymbolDataForELF): No longer assign non-zero
	symbol value for absolute area symbols.
	* area.c (Area_Create): Add DWARF_InitializeState call.
	(Area_PrepareForPhase): Add DWARF_FinalizeState and IT_FinalizeState
	calls.
	* area.h (Area): Add dwarf field.  Update comments.
	(Area_GetBaseAddress): Tighten assert.
	* decode.c (decode): Add DWARF_MarkAs call.
	* it.h (IT_FinalizeState): Add.
	* Makefile.am (asasm_SOURCES): Add debug_dwarf.c.

Mon May 13 22:15:10 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/output.c (DWARF_CreateAreasAndSections): Fix build after previous
	change.

Wed May  8 02:56:00 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* include.c (IncludeDir_t): Use zero size dirP array.
	(Include_Add): Follow IncludeDir_t change.
	(Include_OpenForRead): Update comments.
	* filestack.h (FileNameList): Use zero size fileName array.
	(PObject): Update comments.
	* filestack.c (CachedFile_t): Use zero size bufP array.
	(StoreFileName): Follow FileNameList change.
	(CachedFile_Lookup): Follow CachedFile_t change.
	(FS_GetCurFileName): Return gSourceFileName_Canone i.s.o.
	gSourceFileName when there are no parsable object files.
	* symbol.h (Symbol): Use zero size str array.
	* symbol.c (Symbol_New): Follow Symbole change.
	* main.c (SourceFileName): Rename to gSourceFileName.
	(gSourceFileName_Canon): Add.
	* main.h: Likewise.
	* asm.c (ASM_DoPass): Initialize gSourceFileName_Canon.

Tue May  7 23:52:52 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/os.c (OS_ThrowbackStart): Make return value ptr const.
	(OS_ThrowbackSendStart, OS_ThrowbackSendError, OS_ThrowbackEnd):
	Likewise.
	(OSCanonicalisePath): Remove.
	(ASFile_Create): Use realpath i.s.o. OSCanonicalisePath.
	(OS_GetCWD): Likewise.
	* src/os.h (OS_Throwback*): Likewise.
	* src/error.c: Follow OS_Throwback* changes.

Wed May  1 14:05:44 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/output.c (Output_ELF): Switch back to use EF_ARM_EABI_VER5
	after fix in elftoolchain.

Wed May  1 13:11:57 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* INSTALL: Update build and install instructions.

Wed May  1 00:41:47 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/output.c (Output_ELF): Restore ELF_EABI build.

Wed May  1 00:30:37 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/eval.c (Eval_Unop): Case eOp_CCEnc, return 4 bit CC value in
 	bits 28-31 (incl).  Bug report by Ben Avison.
	* unittests/compare/core/operator_cc_encoding.s: Adjust test result.

Sun Apr 28 17:17:46 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* reloc.h (RelocOut): Update comments.
	* os.c (OS_GetCWD): Add.
	* os.h (OS_GetCWD): Likewise.
	* main.c (asasm_help): Add -G option explanation.
	(option_debug): Add.
	(main): Support -g option.
	* main.h (option_debug): Add.
	* output.c (shstrtab_t, DWARF_UserState_t, oDWUserStateP,
	shstrtab_add, shstrtab_finish, DWARF_Callback_CreateSection,
	DWARF_CreateAreasAndSections, DWARF_OutputSectionData, DWARF_Finish):
	Add.
	(Output_ELF): Add basic DWARF support.
	* Makefile.am (asasm_CFLAGS): Add __STDC_FORMAT_MACROS definition.
	(-pedantic): Remove.
	* area.c (Area_CreateDWARF): Add.
	* area.h (AREA_*): Make unsigned.
	(AREA_INT_DWARF): Add.
	(Area_IsDWARF, Area_CreateDWARF): Add.

Sun Apr 28 17:14:06 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/area.c (areaImage): Rename to..
	(Area_Resize): ...this.
	(Area_EnsureExtraSize): Follow areaImage rename.

Sun Apr 28 16:21:56 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* include.c (Include_Find): Use PATH_MAX from limits.h instead of
	MAXPATHLEN from sys/param.h or own definition.
	* output.c: Likewise.

Sun Apr 28 14:49:40 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* include.c (Include_Find): Drop inc parameter.
	* include.h (Include_Find): Likewise.
	* directive_file.c (c_incbin): Drop Include_Find inc parameter.
	* filestack.c (FS_PushFilePObject): Likewise.
	* eval.c (Eval_Unop): Likewise.

Tue Apr  2 22:35:47 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	unittests/reloc:
	* src/reloc_against_other_areas.s: Add.
	* ref/reloc_against_other_areas_aof.txt: Add.
	* ref/reloc_against_other_areas_elf.txt: Add.

Tue Apr  2 20:42:27 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* elf.h: Remove.
	* symbol.c: Include libelf.h instead of elf.h.
	* reloc.c: Likewise.
	* reloc.h: Likewise.
	* output.c (armword): Move to output.h
	(ourword): Remove.
	(Output_Open): Add.
	(Output_OpenOutput): Make use of Output_Open.
	(writeElfSH): Remove.
	(Output_ELF): Use ELF Tool Chain library.
	* output.h (armword): Moved from output.c.
	* Makefile.am (asasm_CFLAGS): Add ELF Tool Chain header files.
	(asasm_LDFLAGS): Add -static.
	(asasm_LDADD): Add.
	* configure.ac (AC_USE_SYSTEM_EXTENSIONS, LT_INIT): Add.

	* unittests/reloc/ref/*_elf.txt: Update.

Tue Apr  2 19:48:51 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* predef_reg.c: Add stdio.h include.
	* reloc.c (Reloc_BuildForAOF, Reloc_BuildForELF): Add.
	(Reloc_RemoveRelocs): Delete Area::relocOutP.
	(Reloc_PrepareRelocOutPart1, Reloc_PrepareRelocOutPart2): Add.
	(Reloc_GetNumberRelocs, Reloc_AOFOutput, Reloc_ELFOutput): Remove.
	(NO_ELF_SUPPORT): Remove test.
	* reloc.h: Likewise.
	(struct RelocOut): Add.
	* main.c (NO_ELF_SUPPORT): Remove.
	* symbol.c (Symbol_BuildStringData, Symbol_BuildSymbolDataForAOF,
	Symbol_BuildSymbolDataForELF): Add.
	(NO_ELF_SUPPORT): Remove.
	(Symbol_OutputStrings, Symbol_OutputForAOF, Symbol_OutputForELF): Remove.
	* area.c (Area_Create): Init Area::relocOutP.
	(areaImage): Add assert on AREA_UDATA.
	* area.h (Area): Add relocOutputP, remove numRelocs.
	* output.c (Output_AOF, Output_ELF): Follow reloc & symbol API changes.
	* output.h (NO_ELF_SUPPORT): Remove.

Tue Apr  2 19:27:48 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpumem.c (GetBarrierType): Add support for LD, ISHLD, NSHLD,
	OSHLD.
	* src/target.c: Add ARMv8, Cortex-A53 and Cortex-A57 support.
	* src/lex.c (oArchs): Add support for TARGET_ARCH_8 and TARGET_ARCH_8_A.
	(Lex_GetBuiltinVariable): Follow Target_GetCPUFeature() return type
	change.
	* src/decode.c (Decode): Update comments.
	* unittests/compare/include/output_builtin_variables.s: Add test
	on TARGET_ARCH_8 and TARGET_ARCH_8_A.
	* unittests/compare/option_fpu: Update with TARGET_ARCH_8,
	TARGET_ARCH_8_A results.
	* unittests/compare/option_device: Likewise.
	* unittests/compare/option_cpu: Likewise.
	* unittests/compare/option_fpu/FP-ARMv8.s: Add.
	* unittests/compare/option_cpu/8.s: Add.
	* unittests/compare/option_cpu/8-A.s: Add.
	* unittests/compare/option_cpu/Cortex-A53.s: Add.
	* unittests/compare/option_cpu/Cortex-A57.s: Add.
	* unittests/compare/core/instr_dmb_dsb_isb.s: Add LD, ISHLD, NSHLD
	and OSHLD cases.

Tue Apr  2 15:04:38 CEST 2013  John Tytgat  <John.Tytgat@aaug.net>

	* INSTALL: Update expected unittest output.

Wed Mar 27 22:49:18 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/filestack.c (CachedFile_GetLine): Fixed typo made in previous
	commit.

Sun Mar 24 21:31:35 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/filestack.c (CachedFile_GetLine): Properly support EOF.
	Support <CR><LF> EOL type.

Sun Mar 24 14:06:51 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/symbol.c: Fixed typo.
	* src/whileif.c: Likewise.
	(If_Skip): Small simplification.
	* src/reloc.c (Reloc_AOFOutput): Removed ValueCode support (was
	obsolete).
	(Reloc_ELFOutput): Likewise.  Add support for R_ARM_ABS16 and
	R_ARM_ABS8.

Sun Mar 24 14:02:52 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/targetcpu.c (oCPUArchList): Add Cortex-M0plus.
	* unittests/compare/option_cpu/Cortex-M0plus.s: Add.

Sun Mar 17 20:44:20 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	*  unittests/reloc/ref/common_aof.txt: Add.
	*  unittests/reloc/ref/common_elf.txt: Likewise.

Fri Mar 15 02:45:13 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/symbol.h (SYMBOL_CONSTANT): Define.
	(Symbol_GetDescription): Declare.
	* src/symbol.c (Symbol_Define): Use DEBUG_SYMBOL iso DEBUG.
	Improve error message when symbol gets redefined with different value.
	(Symbol_GetDescription): Add.
	(Symbol_OutputForAOF): Improve error message when symbol can not be
	exported.
	(Symbol_OutputForELF): Likewise.
	* src/variables.c (Var_GetDescription): Add.
	(Var_Define): Improve redefinition error detection.
	(c_set): Likewise.
	* src/area.h (Area): Drop fileName and lineNumber members.
	* src/area.c (Area_Create): Follow Area::fileName and Area::lineNumber
	removal.
	(Area_Ensure): Use assert iso if test.
	(c_area): Improve error message when area name has been used before
	as non-area name.
	(c_org): Improve error message when ORG was used too late.
	* src/value.c (Value_TagAsString): Remove.
	* src/value.h (Value_TagAsString): Likewise.
	* src/directive_symbol.c (Define): Use SYMBOL_CONSTANT.
	(c_rlist): Likewise.
	* src/help_cop.c (HelpCop_Addr): Fix error message.
	* src/strdup.c (strncasecmp): Do explicit unsigned char cast for
	toupper calling.
	(strcasecmp): Likewise.
	* src/input.c (Input_MatchStringLower): Likewise.
	* src/filename.c (FN_AnyToNative): Likewise.

Wed Mar 13 20:02:32 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/decode.c (Decode): Drop test on implicit area for determining
	start offset.
	* src/error.c (Error): Remove unnecessary second test on
	Error_SuppressMsg.
	* src/symbol.c (Symbol_Print): Output symbol name for area symbols.

Wed Mar 13 19:03:09 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	Fixes for bugs reported by Ben Avison <bavison@riscosopen.org> :
	* src/m_cpuctrl.c (m_bx): Changed minimal architecture check from 5T
	to 4T.
	* unittests/reloc/Makefile.in: Add empty install target.
	* unittests/compare/Makefile.in: Likewise.

Thu Feb 28 03:08:42 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* get.c (Get_RHS): Remove one-character string support.  Already
	provided by Code_EvalLow.
	* m_cpu.c (m_movw_movt_mov32): Likewise.
	* directive_data.c (DefineInt): Likewise.
	* variables.c (Var_Define): Add assert on possible value types.
	* input.c (Input_VarSub): Tune comment.

	unittests/compare/core:
	* instr_movt_movw_mov32.s: Add one-character string test.
	* instr_adc_add_and_bic_eor_mov_mvn_orr_rsb_rsc_sbc_sub_cmn_cmp_teq_tst.s:
	Change a couple of immediate constants into an one-character string.

Mon Feb 25 23:35:05 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* lex.h (Lex::Data::String): Add owns entry.
	* lex.c (Lex_String): Add ownership parameter.
	(Lex_MakeReferringLocalLabel): Store local lex label name in symbol
	table.
	(Lex_DefineLocalLabel): Likewise.
	(Lex_GetBuiltinVariable): Follow Lex_String API change.
	(Lex_Print): Likewise.
	* lit.c (Lit_RegisterInt): Use Value_Copy instead of Value_Assign.
	(Lit_RegisterFloat): Likewise.
	* reloc.c: Likewise.
	* symbol.c: Likewise.
	* decode.c: Likewise.
	* variables.c (Var_Define): Use Value_String.  Empty strings can have
	NULL string pointer.
	* phase.c (Phase_PrepareFor): Add call to Code_PrepareForPhase.
	* directive_data.c: Add reloc.h header include.
	* m_cpumem.c: Likewise.
	* m_cpuctrl.c: Likewise.
	* eval.c (Eval_Binop): Pass result as Value return value.
	(Eval_Unop): Likewise.  Follow eOp_None rename to eOp_Pos.
	(Eval_NegValue): Merge into Eval_Unop.
	* eval.c (Eval_Binop): Add result Value parameter.
	(Eval_Upop): Likewise.
	* macros.h: Update comments.
	* input.c (Input_VarSub): Fix case of NULL string pointers.
	* directive_symbol.c (Define): Remove call to Value_Assign.
	* code.c (Code_PrepareForPhase): Add.
	(Code_FreeCode): Add.
	(Code_Position, Code_Storage): Remove.
	(Program, Stack): Add ownership to those structures.
	Deal with the fallout.
	(Code_TakeSnapShot): Remove.
	(Code_Free): De-const code pointer.
	* code.h: Remove reloc.h header include.  Add phase.h header include.
	(Code_PrepareForPhase): Add.
	(Code_Position, Code_Storage, Code_TakeSnapShot): Remove.
	(Code_Free): De-const code pointer.
	* expr.c: Follow code.{c,h} changes.
	* value.c (Value_Copy): Add.
	(Value_Assign): Re-implement using Value_Copy.
	Make use of Value_Copy where possible.
	* value.h (Value::Data::String): Add owns entry.
	(Value_String): Add.
	(Value_Copy): Add.

Thu Feb 14 03:23:43 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/filestack.c (CachedFile_GetLine): Fix uninitialised memory
	read.

Sun Feb 10 04:16:45 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* eval.h: Remove global.h include.
	* code.h: Likewise.
	* help_cop.h: Add global.h include.
	* input.h: Add stddef.h and phase.h include.  Remove ctype.h, stdio.h,
	global.h and macros.h include.
	* directive_file.c: Add ctype.h include.
	* filename.h: Add stddef.h include.
	* directive_misc.c: Add stdio.h include.
	* phase.c (Phase_PrepareFor): Add calls to Include_PrepareForPhase,
	Error_PrepareForPhase, Macro_PrepareForPhase, Output_PrepareFor,
	PreDefReg_PrepareForPhase, Symbol_PrepareForPhase.
	* phase.h (eCleanUp): Add.
	(eStartup): Rename to eStartUp.
	* symbol.c (Symbol_PrepareForPhase): Add.
	(Symbol_RemoveVariables): Use unsigned.
	(Symbol_PrintAll): Likewise.
	* symbol.h (Symbol_PrepareForPhase): Add.
	* reloc.c (Reloc_RemoveRelocs): Add.
	* reloc.h: Likewise.
	* it.c (IT_PrepareForPhase): Follow eStartup/eCleanUp changes.
	* area.c (Area_PrepareForPhase): Likewise.
	* stat.c (State_PrepareForPhase): Likewise.
	* local.c (Local_PrepareForPhase): Likewise.
	* opt.c (Opt_PrepareForPhase): Likewise.
	* include.c (incDirPP, incDirCurSize, incDirMaxSize): Remove.
	(IncludeDir_t, oIncludeDirListP): Add.
	(Include_PrepareForPhase): Add.
	(Include_Add): Reimplement.
	(Include_Find): Follow changes.
	* include.h (Include_PrepareForPhase): Add.
	* macro.c (Macro_PrepareForPhase): Add.
	(macroList): Rename to oMacroListP.
	* macro.h (Macro_PrepareForPhase): Add.
	* lit.c (Lit_RemoveLiterals): Add.
	* lit.h: Likewise.
	* output.c (objfile): Rename to oFHandle.
	(Output_Init): Rework to Output_OpenOutput.  Drop stdout support.
	(Output_Finish): Rework to...
	(Output_PrepareForPhase): ...this.
	(Output_Remove): Don't use Output_Finish.
	(Output_AOF,Output_ELF): Move verbose output to main.
	* output.h: Likewise.
	* help_cpu.h: Add config.h include.
	* error.c (Error_Finish): Rework to...
	(Error_PrepareForPhase): ...this.
	(fixup): Reordered.
	* error.h: Likewise.  Drop global.h include.
	* predef_reg.c (PreDefReg_Init): Rework to...
	(PreDefReg_PrepareForPhase): ...this.
	* predef_reg.h: Likewise.
	* filestack.c (FS_PrepareForPhase): Free filenames.
	* main.c (set_option_aof): Fix option_aof writing.
	(main): Support eCleanUp phase.

Sat Feb  9 15:02:21 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* main.c (oOptionSrcCacheSize): Add.
	(asasm_help): Add NOCache and MaxCache option help.
	(main): Add NOCache/MaxCache options.
	* filestack.c (CachedFile_t): Add.
	(CachedFile_GetLine): Add.
	(FS_PrepareForPhase): Add.
	(CachedFile_Lookup): Add.
	(FS_PushFilePObject): Add support for cached files.
	(FS_PopFilePObject): Add assert and support for POType_eCachedFile.
	(FS_PopPObject, FS_GetBuiltinVarLineNum, FS_GetBuiltinVarLineNumUp,
	FS_GetBuiltinVarLineNumUpper, ReportFSStack): Add support for
	POType_eCachedFile.
	* filestack.h (PObject_CachedFile): Add.
	(POType_eCachedFile): Add.
	(PObject::d::memory): Add.
	(FS_PrepareForPhase, FS_SetFileCacheSize): Add.
	* whileif.c (WhileBlock_t::restoreData::offsetCurP): Add.
	(c_while): Add support for POType_eCachedFile.
	(While_Rewind): Likewise.
	* asm.c (ASM_NextLine): Add support for POType_eCachedFile.
	* error.c (errorCore): Likewise.
	* include.c (Include_Get): Change into...
	(Include_OpenForRead): ...this.
	* directive_file.c (c_incbin): Follow Include_Get change into
	Include_OpenForRead.
	* include.h (Include_Get): Likewise.
	* macros.h (MacroPObject): Rename into...
	(PObject_Macro): ...this.

Sat Feb  9 14:18:59 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/common.h (UNUSED): Removed.

Sat Feb  9 14:14:09 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* variables.h (VarPos::next): Constify pointer.
	* macros.h (MacroPObject:::varListP): Likewise.
	* variables.c (c_lcl): Follow MacroPObject::varListP constification.

Sun Feb  3 18:16:23 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* symbol.c (NeedToOutputSymbol, Symbol_CreateSymbolOut): Report source
	location of symbol.
	(Symbol_Print): Fix wrong assert for AREA symbol.
	* symbol.h (SYMBOL_NO_EXPORT): Update comment.
	* lit.c (Lit_GetLitOffsetAsSymbol): Tag with SYMBOL_NO_EXPORT.
	(Lit_DumpPool): Ensure we have an absolute offset-to-literal symbol
	when current area is ABSOLUTE.
	* lit.h: Add stdbool.h include.

	* unittests/compare/core/load_literal5.s: Add testcase.

Sun Feb  3 16:14:22 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/instr_ldm_stm_pop_push.s: Add syntax macro
	failback test.

Sun Feb  3 15:59:57 CET 2013  John Tytgat  <John.Tytgat@aaug.net>
	src:
	* code.c (Code_EvalLowest, Code_Eval, Code_EvalLow): Drop no longer used
	instrOffsetP parameter.
	(Code_ExpandCurrAreaSymbolAsAddr): Remove.
	* code.h (Code_Eval, Code_EvalLow): Likewise.
	* decode.c (Decode): Follow instrOffsetP parameter removal.
	* lit.c (Lit_DumpPool): Likewise.
	* symbol.c (Symbol_OutputForAOF, Symbol_OutputForELF, Symbol_Define):
	Likewise.
	* directive_storagemap.c (c_alloc): Likewise.
	* value.c (Value_Equal): Likewise.
	* expr.c (Expr_Eval): Likewise.
	* directive_data.c (DefineInt_HandleSymbols, DefineInt): Make size
	parameter unsigned.
	* m_cpuctrl.h: Remove decode.h include header.
	* m_fpe.h: Likewise.
	* m_copmem.h: Likewise.
	* m_cpu.h: Likewise.
	* m_cpumem.h: Likewise.  Add stdint.h/inttypes.h header include.
	* directive_data.h: Likewise.
	(DefineInt_HandleSymbols): Make size parameter unsigned.

Fri Feb  1 03:29:51 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src;
	* m_cpumem.c (LSM_Type_e, GetLoadStoreMultipleArg,
	LoadStoreMultiple): Add.
	(dstreglist): Remove.
	* it.c (m_it): Move ARMv6T2 target test to...
	(IT_EmitIT): ...here.
	(IT_ApplyCond): Filter on condition code only.
	* get.h (BASE_MULTI, GET_BASE_MULTI): Remove.
	* option.c (Option_GetInstrWidth): Make difference between
	pre-UAL only and UAL support.
	(IsEndOfKeyword): Simplify.
	(Option_CondLdmStm): Add UAL syntax support.
	* option.h: Beautify.

	* unittests/compare/core/instr_ldm_stm_pop_push.s: Recreated from
	scratch.
	* unittests/compare/core/directive_rlist.s: Fix PUSH/POP with hat
	tests.

Fri Feb  1 03:22:22 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/directive_data_integer.s: Added DCI.N/DCI.W
	tests.

Fri Feb  1 01:54:02 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpu.c (core_sxt_uxt): Add target check.

Fri Feb  1 01:25:33 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* state.h (SyntaxInstrState_e, State_Set): Add.
	(State_SetCmdLineInstrType, State_SetCmdLineSyntax): Remove.
	* state.c: Likewise.
	(oDefaultSyntax, oDefaultInstrType): Replace by...
	(oDefaultSyntaxInstrType): ...this.
	(State_Init): Add.
	(c_code16, c_code32, c_thumb, c_thumbx): Add State_Init call.
	* targetcpu.c (Target_CheckCPUFeatureDetail): Add.
	* targetcpu.h: Likewise.
	* main.c (oOptionInstrSyntax, oOptionInstrType, oOptionInstrSet):
	Replace by...
	(oOptionSyntaxInstr, oOptionSyntaxInstrSet): ...this.
	(main): Follow above changes.

Fri Feb  1 01:15:47 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* macros.c (c_macro): Update comments.
	* put.c (Put_Ins): Likewise.
	* directive_data.c (c_dci): Likewise.

	* unittests/compare/core/include/nop.s: Likewise.

Thu Jan 24 01:01:20 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/lex.c (Lex_GetBuiltinVariable): Add {UAL} support.
	* unittests/compare/core/builtinvar_codesize_config.s: Renamed to...
	* unittests/compare/core/builtinvar_codesize_config_ual.s: ...this.
	Added {UAL} test.

Wed Jan 23 01:32:22 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/state.c (c_code16, c_code32, c_thumb, c_thumbx): Add alignment
	support.
	* unittests/compare/core/directive_code_thumb.s: Add.

Wed Jan 23 00:11:25 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/decode.c (Decode_FinalCheck): Better reporting.

Wed Jan 23 00:08:23 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* lex.c (nextbinop, nextbinopvalid): Remove.
	(Lex_GetIDNoError): Follow the nextbinop, nextbinopvalid removal.
	(Lex_GetDefiningLabel, Lex_GetPrim, Lex_GetBinop): Likewise.
	(Lex_NextPri): Remove.
	(Lex_Print): Clearer LexOperator and LexBool output.
	* lex.h (Lex_NextPri): Remove.
	* expr.c (expr): Split into Expr_Get and Expr_GetInt.
	(Expr_GetInt): Follow Lex_NextPri removal.
	(prim): Rename to...
	(Expr_GetPrim): ...this.  Better closing bracket mismatch error message.

	* unittests/compare/core/operator_precedence.s: Enhance.

Sat Jan 19 17:50:15 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* expr.c (expr): Add bool return value.
	(prim): Likewise.
	(Expr_Build): Likewise.
	(Expr_BuildAndEval): Add check on failed expression building.
	* expr.h (Expr_Build): Add bool return value.
	* lex.c (Lex_GetPrim): Use unsigned type for base value.  Unget wrong
	base character.
	* lex.h: Update comments.
	* m_cpuctrl.c (branch_shared): Add check on Expr_Build return value.
	* value.c (Value_Print): Fix DEBUG build. 

Sat Jan 19 17:43:57 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* symbol.c (Symbol_PrintAll): Fix DEBUG build.
	* code.c (Code_EvalLow): Likewise.
	* asm.c (ASM_DoPass): Likewise.

Sat Jan 19 17:40:00 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/m_cpu.c (m_nop): Code reformat.

Sun Jan 13 18:23:06 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* area.c, area.h, asm.c, code.c, code.h, decode.c, decode.h, depend.c,
	depend.h, directive_data.c, directive_file.c, directive_misc.c,
	directive_storagemap.c, directive_symbol.c, error.c, error.h, eval.c,
	eval.h, expr.c, expr.h, filename.c, filestack.c, fix.c, fix.h, frame.c,
	get.c, get.h, help_cop.c, help_cop.h, help_cpu.c, help_cpu.h,
	include.c, input.c, input.h, it.c, lex.c, lex.h, lit.c, local.c,
	macros.c, main.c, m_cop.c, m_copmem.c, m_cpu.c, m_cpuctrl.c,
	m_cpumem.c, m_fpe.c, opt.c, option.c, option.h, os.c, os.h, output.c,
	put.c, put.h, reloc.c, reloc.h, symbol.c, symbol.h, targetcpu.c,
	value.c, value.h, variables.c, whileif.c: Consistent casing of public
	routines.

Sun Jan  6 19:54:37 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	* src/macros.c (c_macro): Turn warning into error so that it appears
	during pass one.
	* src/variables.c (c_set): ValueTag determination and end-of-keyword
	check needs to happen before label presence test.
	* unittests/compare/core/variables.s: Add test case.

Sun Jan  6 19:16:03 CET 2013  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpu.c (m_nop): Don't warn twice about narrow width specifier in
	ARM mode.
	* directive_data.c (c_dci): Beautify.
	* macros.c (Macro_Find): Fix suffix wildcard test.
	(c_macro): Fix test on previous (possibly eclipsing) macro definition.

	* unittests/compare/core/macro_args.s: Add test case.

Sat Dec 15 20:39:32 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* area.h (Area): Add fileName, lineNumber fields.
	* area.c (Area_Create): Initialise Area::fileName, Area::lineNumber.
	(Area_PrepareForPhase): Add check number of relocs before suggesting
	NOINIT.
	* symbol.h (Symbol): Add aligned, visibility fields.
	* symbol.c (Symbol_New): Initialise Symbol::aligned, Symbol::visibility.
	(Symbol_OutputForELF): Add support for SYMBOL_COMMON.
	(c_common): Add.
	(c_import): Update Symbol::codeSize for SYMBOL_COMMON imported symbols.
	* decode.c (oDecodeTable): Add COMMON entry.
	* elf.h (STV_*, ELF32_ST_VISIBILITY): Add.
	* eval.c (evalUnop): Support eOp_Size for common symbols.

	unittests/compare/reloc:
	* src/common.s: Add.
	* src/import_qualifiers.template: Move to...
	* src/include/import_qualifiers.template: ...here.
	* src/export_qualifiers.template: Move to...
	* src/include/export_qualifiers.template: ...here.
	* src/area_apcs_softfp.s: Follow import_qualifiers.template,
	export_qualifiers.template move.
	* src/area_apcs_hardfp.s, src/area_apcs_fpa.s,
	src/export_qualifiers.s, src/area_apcs_vfp.s: Likewise.
	* src/import_qualifiers.s: Follow import_qualifiers.template move.
	Enhance test.
	* ref/symbol_datum_attribute_elf.txt: Update reference.
	* ref/import_qualifiers_elf.txt, ref/export_all_elf.txt,
	ref/keep_one_symbol_elf.txt, ref/export_weak_all_elf.txt,
	ref/export_label_elf.txt, ref/keep_all_after_elf.txt,
	ref/keep_all_before_elf.txt: Likewise.

Sat Dec 15 15:31:54 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* local.c (Local_DefineLabel): Use SYMBOL_NO_EXPORT i.s.o.
	SYMBOL_DEFINED | SYMBOL_ABSOLUTE for Symbol_Define.
	* directive_symbol.c (Define): Use SYMBOL_NO_EXPORT for non-pure
	integer values for Symbol_Define.
	(c_equ): Use SYMBOL_NO_EXPORT for Symbol_Define.
	* directive_storagemap.c (StorageMap_Value): Tighten assert.
	(c_alloc); Use SYMBOL_NO_EXPORT for Symbol_Define.
	* predef_reg.c (PreDefReg_One): Use Symbol_Define.
	* symbol.h (Symbol): Remove areaDef, add fileName and lineNumber.
	(SYMBOL_NO_EXPORT): Add.
	* symbol.c (Symbol_New): Follow Symbol changes.
	(Symbol_Define): Remove already-defined subtest. Follow Symbol changes.
	(NeedToOutputSymbol): Simplify by using SYMBOL_NO_EXPORT.
	(Symbol_CreateSymbolOut): Remove filename and linenumber of unused
	IMPORT or EXPORT statement.
	(Symbol_OutputForAOF): Add asserts.
	(Symbol_OutputForELF): Likewise.
	(symbolPrint): Add SYMBOL_NO_EXPORT support.
	* variables.c (c_lcl): Follow Symbol::areaDef removal.

	unittests/compare/reloc:
	* src/include/keep_all.s: Enhance.
	* ref/keep_all_before_elf.txt, ref/keep_all_before_aof.txt,
	ref/keep_all_after_elf.txt, ref/keep_all_after_aof.txt: Update.

Fri Dec 14 19:05:46 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* asm.c (ASM_DefineLabel): Always have a ValueSymbol as value for
	the label.
	* symbol.c (SymbolCompare): Simplify after ASM_DefineLabel changes.
	(Symbol_OutputForAOF): Likewise.
	(Symbol_OutputForELF): Likewise.
	(symbolPrint): Follow Symbol changes.
	* symbol.h (Symbol): Change union area by Area pointer.
	* value.c (Value_ResolveSymbol): Resolve ValueSymbol when symbol
	is an area symbol with AREA_BASED or AREA_ABS set.
	* m_cpuctrl.c, help_cop.c, m_cpumem.c, directive_data.c,
	variables.c, area.c, area.h, expr.c, output.c, reloc.c, eval.c,
	lex.c, lit.c, put.c, code.c, it.c, decode.c: Follow changes.

	unittests/compare/reloc:
	* include/keep_all.s: Add.
	* keep_all_after.s: Use include/keep_all.s.
	* keep_all_before.s: Likewise.
	* ref/keep_all_after_elf.txt, ref/keep_all_before_elf.txt,
	ref/keep_all_after_aof.txt, ref/keep_all_before_aof.txt: Update.

Mon Dec 10 23:53:47 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/instr_clrex_ldrex_strex.s: Simplify.
	* unittests/compare/core/loadstore_ual.s: Fix EOL.

Mon Dec 10 23:26:25 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpumem.c (dstmem): Add HALFWORD attribute suggestion.
	(LdrStrEx): Likewise.
	* area.h (AREA_*): Update comments.

	unittests/compare/core:
	* instr_clrex_ldrex_strex.s: Add HALFWORD area attribute.
	* include/load_literal_basic.s: Likewise.
	* loadstore_ual.s: Likewise.
	* loadstore.s: Likewise.
	* loadstore2.s: Likewise.

Sat Dec  1 15:45:58 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* directive_data.c (c_dcfh): Add.
	* directive_data.h (c_dcfh): Likewise.
	* put.c (FloatToHalf): Add.
	(Put_FloatDataWithOffset): Add support for size 2.
	* targetcpu.c (oFPUList): Fix comment.
	* filestack.c (FS_PopPObject): Use assert i.s.o. errorAbort.
	* decode.c (oDecodeTable): Add DCFH entry.

	* unittests/compare/core/directive_data_fp2.s: Add.

Sun Nov 11 21:09:34 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/decode.c (oDecodeTable): Fix formatting.

Sun Nov 11 20:57:00 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* lex.c (Lex_None, Lex_Bool, Lex_Int, Lex_Float, Lex_String): Add.
	Use those.
	(Lex_Id): Renamed from lexTempLabel.
	(Lex_GetInt): Rename to Lex_GetIntOrFloat and support more floating
	point notations.
	(Lex_GetFloatFloatingPointLiteral, Lex_GetDoubleFloatingPointLiteral):
	Return result instead of modifying argument.
	(Lex_GetDoubleFloatingPointLiteral): Support area VFP bit.
	* area.c, lit.c, local.c, predef_reg.c, variables.c, lex.h: Follow
	lexTempLabel rename to Lex_Id.
	* m_fpe.c (CheckFPUsageIsAllowed): Add check on SoftFPA.
	* eval.c (GetInt): Exclude register list.
	(evalBinop, evalUnop): Make use of Value_Int, Value_Float.
	(Eval_NegValue): Set integer type.
	* os.c (ASFile_Create): Add argument cast to isxdigit.
	* input.c: Use unsigne char i.s.o. char.
	* directive_data.c (DefineReal): Add check on FPU None.

	unittests/compare:
	* core/directive_data_fp.s: Add more floating-point notations.
	Add AREA VFP case.
	* bin.s: Rename to...
	* directive_bin_incbin.s: ...this.
	* reserve_space.s: Add more FILL tests.  Add test on lablel + FILL
	and size operator.

Mon Nov  5 23:55:22 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	Add IT support.
	src:
	* it.c, it.h: Add.
	* decode.c (oDecodeTable): Add IT.
	* phase.c (Phase_PrepareFor): Add call to IT_PrepareForPhase.
	* m_cpumem.c (m_swp): Add call to IT_ApplyCond.
	* m_cpu.c (m_nop, m_und, core_bitfield_instr, m_pkh, core_sxt_uxt): Add
	IT support.
	(core_sxt_lxt): Rename to core_sxt_uxt.
	* directive_data.c (m_dci): Add IT support.
	* m_cpumem.c (m_swp): Add IT support.
	* option.c, option.h (Option_GetCCodeIfThere): Renamed from
	GetCCodeIfThere and un-static it.
	* Makefile.am (asasm_CFLAGS): Add it.c.
	* area.c (areaNew): Rename to Area_Create.  Add call to
	IT_InitializeState.
	* area.h (Area): Add it subfield.

	unittests/compare:
	* core/instr_it.s: Add.
	* core/instr_und.s: Update.
	* core/instr_bfc_bfi_sbfx_ubfx.s: Update.
	* core/include/nop.s: Update.
	* core/instr_pkhbt_pkhtb.s: Update.
	* core/instr_sxt_uxt.s: Update.
	* core/instr_swp.s: Update.

Sat Nov  3 18:23:32 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	unittests/compare:
	* core/immediate12.s: Merged into...
	* core/rotator.s: ...this.
	* core/int.s: Merged into...
	* core/directive_data_integer.s: ...this.
	* core/dsp.s: Split into...
	* core/instr_q.s: ...this...
	* core/instr_mcrr_mrrc.s: ...and this...
	* core/core/instr_smla_smul_umla_umul.s: ...and this.
	* core/arithmetic2.s: Merged into core/core/instr_smla_smul_umla_umul.s.
	* core/arithmetic1.s: Renamed to...
	* core/instr_adc_add_and_bic_eor_mov_mvn_orr_rsb_rsc_sbc_sub_cmn_cmp_teq_tst.s:
	...this.
	* core/misc.s: Split into...
	* core/instr_bkpt.s: ...this...
	* core/instr_clz.s: ...and this...
	* core/instr_mrs_msr.s: ...and this.
	* core/branch.s: Renamed to...
	* core/instr_b_bx_bxj_bl_blx.s: ...this.
	* core/asr_lsl_lsr_ror_rrx.s: Renamed to...
	* core/instr_asr_lsl_lsr_ror_rrx.s: ...this.
	* core/clrex_ldrex_strex.s: Renamed to...
	* core/instr_clrex_ldrex_strex.s: ...this.
	* core/copro.s: Renamed to...
	* core/instr_cdp_mcr_mrc_ldc_stc.s: ...this.
	* core/cps.s: Renamed to...
	* core/instr_cps.s: ...this.
	* core/dbg.s: Renamed to...
	* core/instr_dbg.s: ...this.
	* core/dmb_dsb_isb.s: Renamed to...
	* core/instr_dmb_dsb_isb.s: ...this.
	* core/movt_movw_mov32.s: Renamed to...
	* core/instr_movt_movw_mov32.s: ...this.
	* core/mul_mla_mls.s: Renamed to...
	* core/instr_mul_mla_mls.s: ...this.
	* core/pld_pldw_pli.s: Renamed to...
	* core/instr_pld_pldw_pli.s: ...this.
	* core/rfe_srs.s: Renamed to...
	* core/instr_rfe_srs.s: ...this.
	* core/sev_wfe_wfi_yield.s: Renamed to...
	* core/instr_sev_wfe_wfi_yield.s: ...this.
	* core/smc.s: Renamed to...
	* core/instr_smc_smi.s: ...this.
	* core/swi.s: Renamed to...
	* core/instr_swi_svc.s: ...this.
	* core/ldr.s: Renamed to...
	* core/instr_ldr.s: ...this.
	* core/ldr_from_addr.s: Renamed to...
	* core/instr_ldr_from_addr.s: ...this.
	* include/nop.s: Renamed to...
	* core/include/nop.s: ...this.
	* include/load_literal_basic.s: Renamed to...
	* core/include/load_literal_basic.s: ...this.

Sat Nov  3 18:04:05 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/fix.c (Fix_CheckForOverflow): Support size 8.

Sat Nov  3 17:09:24 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpuctrl.c (ADR_RelocUpdaterCore): Support MOVW/MOV32 generation.
	(m_adr): Add pure int test.
	* m_cpu (Put_Ins_MOVW_MOVT): Move to...
	* put.c, put.h: ...here.

	unittests/compare:
	* Makefile.in: Add core subdirectory as extra include directory.
	* core/adr.s: Move to...
	* core/include/adr.s: ...here.  Update for MOVW/MOV32 case. 
	* core/adr_adrl_before_6t2.s: Add.
	* core/adr_adrl_6t2.s: Add.

Sat Nov  3 14:41:24 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpu.c (MOV_Type_e, Put_Ins_MOVW_MOVT, m_movw_movt_mov32): Add.
	(m_mov): Call m_movw_movt_mov32.
	* decode.c (oDecodeTable): Update MOV* related comments.
	(decode): Give a more appropriate erorr message when read symbol has
	0 length.

	unittests/compare:
	* core/load_literal3.s: Update for MOVW.
	* core/movt_movw_mov32.s: Add.

Sat Nov  3 14:36:15 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/get.c (getRhs): Rework rotator code.
	* unittests/compare/core/immediate12.s: Add.

Sat Nov  3 14:32:04 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* directive_symbol.c (Define): Add intType parameter. Upgrade pure
	int to other int type.  Add check on int type consistency.
	(c_cn, c_cp, c_equ, c_fn, c_rn): Follow new Define API.
	* variables.c (Var_Define): Initialise int type.
	* value.c (valueEqual): Add check on int type.

	unittests/compare: 
	* core/register_types.s: Enhance.
	* core/operator_relational.s: Enhance.

Sat Nov  3 13:53:22 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/compare/core/comment.s: Add.

Thu Nov  1 16:30:45 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (): Support asterisk at beginning of a line as comment.

Sat Oct 27 20:37:47 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/area.c (c_area): Remove unnecessary calls to Input_Rest.

Sat Oct 27 20:34:51 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/reloc/Makefile.in: Fix typo and update the check target
	output.
	* unittests/compare/Makefile.in: Update the check target output.

Sat Oct 27 20:31:57 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* macros.c (Macro_Find): Make local.  Add addSfxWildcard parameter.
	(Macro_Call): Pass macro by name and namelength instead of macro
	pointer.  Support macro suffix.
	(AddMacroArg): Add.
	(c_macro): Support macro suffix.
	* macros.h: Remove global.h and whileif.h header include.
	(Macro): Add nameLen, suffixArg fields.  Update comments.
	(Macro_Find): Remove declaration.
	(Macro_Call): Update declaration.
	* decode.c: Add whileif.h include.
	(decode): Remove Macro_Find call, update Macro_Call call.

	* unittests/compare/core/macro_args.s: Enhance with a macro suffix
	test.

Wed Oct 24 00:39:47 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* m_cpu.c (m_nop): Add Thumb support.
	* symbol.c (ParseSymbolAndAdjustFlag): Code style fix.
	* directive_data.c (c_align): Rework and add CODEALIGN support.

	unittests/compare:
	* core/align.s: Add CODEALIGN test case.
	* core/instr_nop_new_style.s: Move Thumb test case to...
	* include/nop.s: ...here and enhance it.

Wed Oct 24 00:34:31 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/reloc/Makefile.in: Fix comments and check target output.
	* unittests/compare/Makefile.in: Likewise.

Wed Oct 24 00:31:42 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/output.c (Output_AOF): Use AREA_INT_AOFMASK to filter out
	internal implementation bits.
	* unittests/reloc/ref/area_aof.txt: Update reference file.

Sun Oct 14 00:59:54 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* main.h (APCS_OPT_VFPENDIAN): Renamed from APC_OPT_FPAENDIAN.
	* main.c (gOptionVersionAPCS, gOptionAPCS): Initialize at
	ParseOption_APCS.
	(ParseOption_APCS): Make gOptionAPCS default follow the FPU choice.
	Add sanity check on softfp and (no)fpregargs.
	* symbol.c (ApplyDefaultSymbolTypeForExportOrImport): Add.
	(Symbol_OutputForAOF, c_export, c_import): Use
	ApplyDefaultSymbolTypeForExportOrImport.
	(GetQualifierList): Flush rest of line after parser failed.
	* area.c: Add include lit.h.
	(Area_PrepareForPhase): Add NOINIT suggestion.
	(Area_ApplyAPCSOption): Fix AREA_EXTFPSET test. Add support for
	APCS_OPT_ROPI, APCS_OPT_REENTRANT, APCS_OPT_SWSTACKCHECK,
	APCS_OPT_INTERWORK, APCS_OPT_VFPENDIAN.
	(FlagCat_e, AttribResult_t, ParseAttributeBASED, ParseAttributeALIGN,
	oAttributes, AttributesAsName, GetAreaAttributes): Add.
	(c_area): Reimplement using GetAreaAttributes.
	(c_org): Enhance test on ValueInt.
	* area.h: Remove include decode.h, lit.h.
	(AREA_NOSWSTACKCHECK): Renamed from AREA_NOSTACKCHECK.
	(AREA_LINKONCE): Remove, replace it by AREA_RESERVED28.
	(AREA_VFP, AREA_INT_CODEALIGN, AREA_INT_AOFMASK, AREA_INT_DATAMASK,
	AREA_INT_CODEMASK): Add.
	* put.c (Put_FloatDataWithOffset): Add test on AREA_VFP.
	* decode.c: Add include lit.h.

	unittests/reloc:
	* Makefile.in: Add RUNOPT support.  Create empty reference files when
	needed.

	* src/area_26bit.s, src/area_apcs_interwork.s, src/area_apcs_vfp.s,
	src/area_apcs_fpe2.s, src/area_apcs_fpe3.s, src/area_apcs_softfp.s,
	src/area_apcs_reentrant.s, src/area_apcs_hardfp.s, src/area_apcs_fpa.s,
	src/area.s, src/area_apcs_noswstackcheck.s, src/area_apcs_pic.s: Add.
	* ref/area_apcs_vfp_aof.txt, ref/area_apcs_fpe2_elf.txt,
	ref/area_apcs_fpe3_elf.txt, ref/area_apcs_softfp_aof.txt,
	ref/area_apcs_reentrant_elf.txt, ref/area_apcs_hardfp_aof.txt,
	ref/area_apcs_fpa_elf.txt, ref/area_apcs_noswstackcheck_aof.txt,
	ref/area_elf.txt, ref/area_apcs_pic_aof.txt, ref/area_26bit_elf.txt,
	ref/area_apcs_interwork_aof.txt, ref/area_apcs_fpe2_aof.txt,
	ref/area_apcs_vfp_elf.txt, ref/area_apcs_fpe3_aof.txt,
	ref/area_apcs_reentrant_aof.txt, ref/area_apcs_softfp_elf.txt,
	ref/area_apcs_hardfp_elf.txt, ref/area_apcs_fpa_aof.txt,
	ref/area_aof.txt, ref/area_apcs_noswstackcheck_elf.txt,
	ref/area_apcs_pic_elf.txt, ref/area_26bit_aof.txt,
	ref/area_apcs_interwork_elf.txt: Add.

	unittests/compare:
	* Makefile.in: Fix comment.  Tune final check target output.
	* core/area.s: Add a couple more area tests.

Fri Oct 12 23:04:06 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* fix.c: Add include config.h
	* depend.c: Likewise.
	* include.c: Likewise.
	* Makefile.am (asasm_CFLAGS): Remove _GNU_SOURCE preprocessor define.
	
	* configure.ac (AC_GNU_SOURCE): Add.

Wed Oct 10 23:15:56 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* area.h (Area): Add entryType.
	(reloc.h): Remove include and forward declare struct RELOC.
	* area.c (oArea_CurrentEntryType): Remove.
	(areaNew): Initialize entryType.
	(Area_Ensure, c_area): Follow oArea_CurrentEntryType removal.
	(Area_MarkStartAs): Use current area entryType instead of
	oArea_CurrentEntryType.
	(Area_GetCurrentEntryType): Likewise.
	* output.c: Add include reloc.h.

	unittests/reloc:
	* ref/import_qualifiers_aof.txt, ref/import_qualifiers_elf.txt:
	Update.

Wed Oct 10 22:52:48 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* symbol.c (oExportAllSymbols): Add.
	(NeedToOutputSymbol): Tune return value.
	(Symbol_OutputForAOF): Add support for oExportAllSymbols.
	(Symbol_OutputForELF): Add support for oExportAllSymbols and
	oAllExportSymbolsAreWeak.
	(QualifierResult_t, ParseQualifierBASED, ParseQualifierCOMMON,
	oQualifiers, GetQualifierList): Add.
	(c_export): Reimplement using GetQualifierList.
	(c_import): Likewise.
	(c_leaf): Add.
	* symbol.h (SYMBOL_*): Update comments.
	(SYMBOL_USESSB, SYMBOL_SOFTFP, SYMBOL_READONLY): Add.
	(SYMBOL_MACRO_LOCAL, SYMBOL_RW, SYMBOL_KEEP, SYMBOL_AREA): Reassign
	value.
	(c_leaf): Add.
	* decode.c (oDecodeTable): Add LEAF entry.

	unittests/reloc:
	* src/export_label.s: Add multiple symbol export test.
	* src/export_all.s, src/export_qualifiers.template,
	src/export_weak_all.s, src/import_qualifiers.s,
	src/import_qualifiers.template: Add.
	* ref/export_label_aof.txt, ref/export_label_elf.txt: Update.
	* ref/export_weak_all_aof.txt, ref/export_weak_all_elf.txt,
	ref/export_weak_all_elf.txt, ref/export_qualifiers_aof.txt,
	ref/export_qualifiers_elf.txt, ref/export_all_aof.txt,
	ref/export_all_elf.txt, ref/import_qualifiers_aof.txt,
	ref/import_qualifiers_elf.txt: Add.
	* Makefile.in (ASASMFLAGS_AOF, ASASMFLAGS_ELF): Add include dir.

Sun Oct  7 13:40:42 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	src:
	* aoffile.h (HOW3_*): Remove.
	(HOW2_SIZE): Remove.
	(HOW2_INSTR_UNLIM, HOW2_INSTR_MAX1, HOW2_INSTR_MAX2, HOW2_INSTR_MAX3):
	Add.
	* help_cop.c: Follow HOW2_SIZE rename to HOW2_INSTR_UNLIM.
	* m_cpuctrl.c: Likewise.
	* m_cpumem.c: Likewise.
	* symbol.h (SYMBOL_SUPPORTEDBITS): Rename to SYMBOL_SUPPORTED_AOF_BITS.
	* symbol.c (NeedToOutputSymbol): Add warning when symbol got marked
	with KEEP but its value does not allow it to be exported.
	Add check on writable variables, remove assert on this.
	(Symbol_OutputForAOF, Symbol_OutputForELF): Follow SYMBOL_SUPPORTEDBITS
	to SYMBOL_SUPPORTED_AOF_BITS rename.
	(symFlag): Rename to ParseSymbolAndAdjustFlag.
	* asm.c (ASM_DefineLabel): Only add SYMBOL_DATUM to labels when they
	are set in code	areas.
	* reloc.c (relocAOFOutput, relocELFOutput): Add assert on the ValueCode
	cases.
	* reloc.h (Reloc): Adjust comment.

	unittests/reloc/src:
	* symbol_datum_attribute.s, keep_all_before.s, keep_all_after.s,
	keep_one_symbol.s: Add.

	unittests/reloc/ref:
	* import_label_aof.txt, export_label_aof.txt: Update after decaof
	update.
	* keep_one_symbol_aof.txt, keep_one_symbol_elf.txt,
	keep_all_after_aof.txt, keep_all_after_elf.txt, keep_all_before_aof.txt,
	keep_all_before_elf.txt, symbol_datum_attribute_aof.txt,
	symbol_datum_attribute_elf.txt: Add.

	* unittests/reloc/Makefile.in: Leave the current decaof/readelf/
	elfdump output as text file.

Sat Oct  6 13:05:36 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/INSTALL: Move to...
	* INSTALL: ...here.  Updated to the current autotools based build
	and testing infrastructure.

Thu Oct  4 23:36:08 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am (check-minimum): Add.

Thu Oct  4 23:27:47 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/reloc/Makefile.in (READELF,ELFDUMP): Fix elftoolchain
	binary paths.

Wed Oct  3 03:13:40 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* m4/ltdl.m4, m4/ltsugar.m4, m4/argz.m4, m4/ltversion.m4,
	m4/lt~obsolete.m4, m4/ltoptions.m4: Add, copies from libtool 2.4.2.
	* m4/libtool.m4: Update from copy libtool 2.4.2.

Wed Oct  3 01:46:52 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* m4/pkg.m4, m4/libtool.m4: Add, in order to ease building
	elftoolchain in gccsdk.

Tue Oct  2 23:57:00 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* .: Use ../elftoolchain/current-trunk as elftoolchain.
	Add svn:ignore for autotool generated files.
	* unittests/reloc/ref/import_label_elf.txt: Update after elftoolchain
	tools output changed.
	* unittests/reloc/ref/export_label_elf.txt: Likewise.
	* configure.ac: Update, elftoolchain can now be built using autotools.

Sat Sep 29 17:16:44 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/COPYING: Move to...
	* COPYING: ...here.
	* src/README: Move to...
	* README: ...here.

Sun Sep  2 16:03:22 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/variables.c (c_set): Add check presence of LexId label.  Fixes
	bug #242.
	* src/directive_storagemap.c (c_alloc): Check presence of
	LexLocalLabel.
	* src/local.c (c_rout): Likewise.

Thu Aug 16 00:31:43 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* src/variables.c (Var_Define): Don't allow EXPORT/IMPORT/KEEP/STRONG
	marked symbols being (re)used as variables (like variables can not
	be reused as symbols in symFlag()).
	* src/symbol.c (NeedToOutputSymbol): Add assert we're never going
	to output variables as symbols.
	(Symbol_OutputForAOF): Remove bool support.
	(Symbol_OutputForELF): Likewise.
	* src/whileif.c, src/help_cop.c: Tune assert syntax.

Wed Aug 15 14:27:17 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* unittests/reloc/Makefile.in: Use ELFDUMP as well so we're having
	a checksum of section contents.
	* unittests/reloc/ref/export_label_elf.txt: Update with ELFDUMP
	checksum.
	* unittests/reloc/ref/import_label_elf.txt: Likewise.
	* unittests/reloc/ref/import_label_aof.txt: Likewise.  Update after
	decaof output change.

Sun Aug 12 01:53:13 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* testing/{option_apcs,option_cpu,option_fpu,option_device,Makefile.in,
	include,tests_pass}: Moved to...
	* unittests/compare: ...here.
	* unittests/reloc: Add simple import/export test case.
	* configure.ac: Update.
	* Makefile.am: Likewise.
	* src/asm.c (ASM_DefineLabel): Give all data labels SYMBOL_DATUM bit.

Sat Aug 11 13:35:48 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am (install-minimum): Make sure asasm is fully built (incl.
	decaof and elftoolchain) before installing.
	* docs/AOF-2011: Added.

Fri Aug 10 23:40:16 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	Reorganised asasm, added external links to GCCSDK decaof and
	elftoolchain project.

Sun Jul 29 21:55:48 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am (ASASM_VERSION): Simplify.

Sun Jul 29 17:27:06 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am (ASASM_VERSION): Deal with svn repository numbers having
	less or more than 4 digits.

Tue Jul 17 01:05:26 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* variables (Var_Define): Simplify (call Symbol_Get instead of
	Symbol_Find + Symbol_Get).

Tue Jul 17 00:49:52 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am (ASASM_VERSION): Add.
	* lex.c (Lex_GetBuiltinVariable): Define {ASASM_VERSION} iso {ASASM}.
	* variables.c (Var_PrepareForPhase): Call Var_PredefineVariables
	before each pass.
	(Var_PredefineVariables): Define |asasm$version|.
	(Var_Declare): Rename to Var_Define and clean up as we don't have
	any concept of declare vs define anymore.
	(c_set): No longer set SYMBOL_DEFINED, this should already been set.
	* regression/tests_pass/version.s: Add.
	* regression/tests_pass/variable_define.s: Add.
	* regression/tests_pass/builtinvar_cpu1.s,
	regression/tests_pass/builtinvar_cpu2.s: Remove (superseded by the
	option_cpu tests).

Mon Jul 16 22:25:13 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* asm.c, asm.h (ASM_Assemble): Support one pass assembling.
	* lex.c (Lex_GetBuiltinVariable): Add support for {INTER}, {CPU}, {FPU},
	{ROPI}, {TARGET_ARCH_ARM}, {TARGET_ARCH_THUMB}, {TARGET_ARCH_1},
	{TARGET_ARCH_2}, {TARGET_ARCH_2A}, {TARGET_ARCH_3}, {TARGET_ARCH_3G},
	{TARGET_ARCH_3M}, {TARGET_ARCH_4XM}, {TARGET_ARCH_4}, {TARGET_ARCH_4TXM},
	{TARGET_ARCH_4T}, {TARGET_ARCH_5XM}, {TARGET_ARCH_5},
	{TARGET_ARCH_5TXM}, {TARGET_ARCH_5T}, {TARGET_ARCH_5TEXP},
	{TARGET_ARCH_5TE}, {TARGET_ARCH_5TEJ}, {TARGET_ARCH, {TARGET_ARCH_6K},
	{TARGET_ARCH_6T2}, {TARGET_ARCH_6Z}, {TARGET_ARCH_6_M},
	{TARGET_ARCH_6S_M}, {TARGET_ARCH_7}, {TARGET_ARCH_7_A},
	{TARGET_ARCH_7_R}, {TARGET_ARCH_7_M}, {TARGET_ARCH_7E_M},
	{TARGET_FEATURE_CLZ}, {TARGET_FEATURE_DIVIDE},
	{TARGET_FEATURE_DOUBLEWORD}, {TARGET_FEATURE_DSPMUL},
	{TARGET_FEATURE_EXTENSION_REGISTER_COUNT}, {TARGET_FEATURE_MULTIPLY},
	{TARGET_FEATURE_MULTIPROCESSING}, {TARGET_FEATURE_NEON},
	{TARGET_FEATURE_NEON_FP16}, {TARGET_FEATURE_NEON_FP32},
	{TARGET_FEATURE_NEON_INTEGER}, {TARGET_FEATURE_UNALIGNED},
	{TARGET_FPU_FPA}, {TARGET_FPU_SOFTFPA}, {TARGET_FPU_SOFTFPA_FPA},
	{TARGET_FPU_SOFTFPA_VFP}, {TARGET_FPU_SOFTVFP}, {TARGET_FPU_SOFTVFP_FPA},
	{TARGET_FPU_SOFTVFP_VFP}, {TARGET_FPU_VFP}, {TARGET_FPU_VFPV1},
	{TARGET_FPU_VFPV2}, {TARGET_FPU_VFPV3}, {TARGET_FPU_VFPV4},
	{TARGET_PROFILE_A}, {TARGET_PROFILE_M}, {TARGET_PROFILE_R}.
	(Lex_Char2Int): Change API.
	* targetcpu.c, targetcpu.h: New API for cpu/fpu/device options.
	* m_copmem.c, m_cpuctrl.c, m_cop.c, m_cpu.c, m_cpumem.c, option.c: Use
	new Target_*() API.
	* predef_reg.c (PreDefReg_Init): Fix predefined register definitions.
	Support regnames option.
	* main.c, main.h: Better APCS option support.
	Add cpu/fpu/device/no_code_gen/regnames options.
	* regression/option_cpu, regression/option_device,
	regression/option_fpu: Add testcases.
	* regression/include: Add.
	* regression/testfiles_pass (apcs*): Move to...
	* regression/option_apcs: ...here.  Update for new APCS option support.
	* regression/Makefile: Update for new test subdirectories.

Sat Jun 16 16:07:08 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (Area_MarkStartAs): Support ThumbEE mapping symbol.
	(Area_IsMappingSymbol): Return Area_eEntryType instead of bool.
	* area.h (Area_IsMappingSymbol): Return Area_eEntryType instead of bool.
	(Area_eEntryType): Renumber enum so that Area_IsMappingSymbol still
	makes some sense.
	* symbol.c (Symbol_CreateSymbolOut, Symbol_OutputStrings): Support
	ThumbEE mapping symbols.
	* decode.c (decode.c): Likewise. 

Wed Jun 13 02:16:59 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* main.c (option_apcs_softfloat, set_option_apcs_softfloat): Remove.
	(asasm_help): Remove -soft-float and -hard-float options.
	* main.h (option_apcs_softfloat): Remove.
	* area.c (Area_ApplyAPCSOption): Remove option_apcs_softfloat use.
	* m_fpe.c (CheckFPUsageIsAllowed): Likewise.
	* output.c (Output_ELF): Likewise.
	* area.h (AREA_SOFTFLOAT): Change into AREA_RESERVED31.

Tue Jun 12 23:59:34 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* asm.c (ASM_DefineLabel): Add isMapping parameter.
	* asm.h (ASM_DefineLabel): Likewise.
	* decode.c (decode): Follow ASM_DefineLabel API change.
	* local.c (c_rout): Likewise.
	* area.c (Area_MarkStartAs): Likewise.

Tue Jun 12 23:44:35 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (decode): Call ASM_DefineLabel after Area_MarkStartAs.
	* area.c (Area_GetCurrentEntryType): Add. 
	(Area_MarkStartAs): Move setting of SYMBOL_DATUM to...
	* asm.c (ASM_DefineLabel): ...here.	
	* area.h (Area_GetCurrentEntryType): Add.
	* symbol.h (SYMBOL_DATUM): Tune comment.
	* symbol.c (NeedToOutputSymbol): Output KEEP'd area labels as well.

Tue Jun 12 22:08:15 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (NeedToOutputSymbol): Only consider outputing integer
	values which are pure integers.

Tue Jun 12 21:38:35 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c (ADR_RelocUpdaterCore): Prefer the ADD/SUB variants over
	the MOV/MVN ones.  Emit warning when only MOV/MVN can be used.
	* regression/tests_pass/adr.s: Update and enhance test case.

Tue Jun 12 21:08:20 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* INSTALL: Fix PATH setting for cross-compile case.

Tue Jun 12 20:26:15 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* help_cpu.h (help_cpuImm8s4): Use uint32_t instead of int as
	parameter type and return value.  Renamed to Help_CPUImm8s4.
	(Help_SplitByImm8s4): Use uint32_t types as parameter types and
	unsigned as return value.
	* help_cpu.c (help_cpuImm8s4, Help_SplitByImm8s4): Likewise.
	* m_cpuctrl.c, fix.c, lit.c, m_cpumem.c: Follow help_cpu.h changes.

Tue Jun 12 03:51:23 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c (ADR_RelocUpdaterCore): Implement canSwitch parameter.
	* regression/tests_pass/adr.s: Update testcase.
	* regression/tests_pass/storagemap_register.s: Likewise.

Tue Jun 12 03:21:03 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* reloc.c, reloc.h, lit.c, symbol.h, m_cpuctrl.c, help_cop.c,
	m_cpumem.c, directive_data.c, area.c, directive_data.h, area.h,
	value.h: Get rid of Reloc_QueueExprUpdate.
	* lex.c: Add comment.
	* regression/tests_pass/adr.s: Update as we can now generate MOV/MVN
	instead of ADD/SUB.
	* regression/tests_pass/include/load_literal_basic.s: Add comments.
	* regression/tests_pass/ldr_from_addr.s: Enhance testcase.
	* regression/tests_pass/operator_string.s: Likewise.
	* configure.ac: Increase version to 2.01.

Tue Jun 12 03:13:01 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* code.c (Code_Free): Make Code ptr argument const.
	* code.h (Code_Free): Likewise.

Tue Jun 12 03:09:56 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/builtinvar_pc.s: Rename areas Code4 to Code5
	and 2nd Code3 to Code4 so that the new Code4 is really testing what
	it should test.

Tue Jun 12 02:35:24 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* lit.c (Lit_DumpPool): Convert late defined integer symbol value into
	floating point value when used as floating point literal.
	* regression/tests_pass/fpe_literal.s: Enhance test case.

Fri Jun  8 01:09:17 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	Based on https://www.riscosopen.org/content/sales/dde-changes-20-to-21
	* area.h: Add info AOF area attribute bit 31
	* symbol.h: Add info on AOF symbol attribute bit 13.

Fri May 18 20:46:41 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (inputEnvSub): Remove.
	(Input_ArgSub): No longer call inputEnvSub.  Simplify.
	* filename.c (FN_AnyToNative): Resolve RISC OS OS variable use in
	filenames on non-RISC OS platforms.
	* directive_file.c (c_get, c_lnk): Fix memory leak.

Fri May 18 18:28:20 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* macros.c (c_macro): Prevent dollar expansion between vertical bar
	characters.
	* regression/tests_pass/variable_substitution.s: Enhance test.

Fri May 18 15:47:53 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpumem.c (dstreglist): Fix compiler warning.

Sat Apr  7 15:39:45 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* README: Add v2.00 testers.  Updated contributors list.

Thu Apr  5 02:02:54 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* README: Tune credits, release info and add "Future development"
	section.

Thu Apr  5 01:05:32 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am, output.h (GCCSDK_REVISION): Add svn branch.

Wed Apr  4 23:56:17 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/include/load_literal_basic.s: Removed the MOVT
	optimisation tests.
	* regression/tests_pass/load_literal3.s: Likewise.
	* m_cpumem.c (DestMem_RelocUpdater): Removed MOVT optimisation.
	(m_push, m_pop): Add comments.
	(CPUMem_ConstantInMOVT): Removed.
	* m_cpumem.h (CPUMem_ConstantInMOVT): Removed.
	* lit.c (Lit_RegisterInt, Lit_DumpPool): Removed MOVT optimisation.

Sat Mar 31 03:53:17 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/instr_ldm_stm_pop_push.s: Add one register
	PUSH/POP test.
	* m_cpumem.c (dstreglist): Convert one register PUSH/POP into STR/LDR.
	Add warnings for unpredictable constructs.

Sat Mar 31 00:01:47 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c (ADR_RelocUpdater): Take imported symbol offset into
	account.

Thu Mar 29 22:50:57 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/variables.s: Add tests for initial :DEF:
	value.
	* regression/tests_fail/local_label2.s: Fix comment typo.
	* symbol.c, symbol.h (symbolNew): Rename to Symbol_New.
	(symbolFree): Rename to Symbol_Free.  Simplify.
	(symbolGet): Rename to Symbol_Get.
	(symbolFind): Rename to Symbol_Find.
	(symbolRemove): Rename to Symbol_Remove.
	(Symbol_RemoveVariables): Add.
	* decode.c, local.c, directive_storagemap.c, area.c, variables.c,
	expr.c, input.c, predef_reg.c, get.c, asm.c, lit.c, lex.c: Follow
	symbol routine renames.
	* variables.c (Var_PrepareForPhase): Add.
	(assign_var): Merge into declare_var.
	(declare_var): Rename to Var_Declare.
	(Var_Define): Remove.
	* variables.h (Var_PrepareForPhase): Add.
	(Var_Define): Remove.
	* phase.c (Phase_PrepareFor): Add Input_PrepareForPhase and
	Var_PrepareForPhase.
	* main.c (main): Remove support for -D as predefined strings (use
	-PD instead).  Use Input_AddPredefine.
	(predefines, num_predefines): Move to...
	* input.c: ...here as oPreDefines and oPreDefCnt.
	(oPreDefIdx): Add.
	(Input_PrepareaForPhase): Add.
	(Input_AddPredefine): Add.
	(Input_NextLineCore): Use oPreDefines, oPreDefIdx, oPreDefCnt.
	* input.c (Input_PrepareForPhase, Input_AddPredefine): Add.

Sun Mar 25 21:47:33 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/load_literal3.s: Add MVN/MOVW/MOVT tests.
	* regression/tests_pass/load_literal.s: Move to...
	* regression/tests_pass/include/load_literal_basic.s: ...here.
	Add MOVW/MOVT test cases.
	* regression/tests_pass/load_literal_basic_archv4.s: Add.  Calls
	tests_pass/include/load_literal_basic.s for Arch v4.
	* regression/tests_pass/load_literal_basic_archv6t2.s: Add.  Calls
	tests_pass/include/load_literal_basic_archv6t2 for Arch v6T2.
	* m_cpumem.c (DestMem_RelocUpdater): Add MOVW/MOVT optimisation code.
	* m_cpumem.c, m_cpumem.h (CPUMem_ConstantInMOVW, CPUMem_ConstantInMOVT):
	Add.
	* lit.c (Lit_RegisterInt, Lit_DumpPool): Add MOVW/MOVT optimisation
	code.

Sun Mar 25 14:39:10 CEST 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/align.s: Fix reference data.
	* regression/tests_pass/assert.s: Add tests based on local labels.
	* directive_misc.c (c_assert): Assert evaluation needs to be done
	in both passes but its result should only be tested for in second
	pass.

Sat Mar 24 18:13:39 CET 2012  Jeffrey Lee  <me@phlamethrower.co.uk>
                              John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/align.s: Add.
	* put.c (ReportOverflow): Also show the hex version of value.
	* directive_data.c (GetDefaultAlignValueSize): Add.
	(c_align): Add support for fill value and fill value size.

Sat Mar 24 17:43:41 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (ValidateORGValue): Add.
	(c_area, c_org): Use ValidateORGValue.
	(Area_Ensure): Set SYMBOL_ABSOLUTE for absolute area.

Sat Mar 24 16:48:47 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* fix.c, fix.h (Fix_CheckForOverflow): Add.
	(Fix_Int): Use Fix_CheckForOverflow.
	* put.c (ReportOverflow): Use Fix_CheckForOverflow.

Sat Mar 24 15:29:51 CET 2012  Jeffrey Lee  <me@phlamethrower.co.uk>

	* main.c (main): Support comma separated include directories.

Sat Mar 24 15:24:05 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* directive_storagemap.c (c_record): Make use of Value_* routines.
	(oStorageMapValue): Initialise type subfield.
	* area.c (c_area): Make use of Value_Int.  Copy complete Value object.

Sat Mar 24 02:09:20 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (decode): Avoid reporting unaligned instructions twice.
	* area.c (Area_AlignOffset): Tune unaligned warning.
	* error.c (Error_SuppressMsg): Add.  Implements option -NOWarn.
	(errorCore, errorCoreLine): Remove Info, Warning suppress tests.
	(error, errorLine): Add calls to Error_SuppressMsg.
	* main.c, main.h (option_nowarn): Add.
	(main): Add -NOWarn option support.

Wed Mar 21 01:13:14 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c (m_msr, m_mrs): Corrected minimal architecture version.
	* local.c (c_rout): Add Thumb mode support.

Mon Mar 19 23:24:24 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_index.s: Add tests based on labels.
	* symbols.s (c_import): Implement a more liberal syntax for import
	attributes.
	* m_cpu.c (onlyregs): Add test on architecture.
	(l_onlyregs): Likewise.
	* eval.c (evalUnop): Add support for area symbols for :BASE: and
	:INDEX:.

Sat Mar 17 21:54:33 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/instr_pkhbt_pkhtb.s: Add.
	* regression/tests_pass/instr_sxt_uxt.s: Mark IT cases.
	* regression/tests_pass/instr_bfc_bfi_sbfx_ubfx.s: Likewise.
	* decode.c (oDecodeTable): Add PKH.
	* value.c (Value_ResolveSymbol): Fix comment.
	* m_cpu.c, m_cpu.h (m_pkh): Add.

Sat Mar 17 19:00:51 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/ldm_stm_pop_push.s: Renamed to...
	* regression/tests_pass/instr_ldm_stm_pop_push.s: ...this.
	* regression/tests_pass/operator_addition_logical.s: Removed ^
	extension.  We no longer want to support this.
	* regression/tests_pass/directive_rlist.s: Add.
	* directive_symbol.c, directive_symbol.h (c_rout): Add.
	* decode.c (oDecodeTable): Add RLIST.
	* m_cpumem.c (dstreglist): Factor out register list parser to...
	* get.c (Get_CPURList): ...here.
	* get.h (Get_CPURList): Add.
	* lex.c (lexGetBinop): Remove ^ support.
	* value.c (Value_ResolveSymbol): Reserve integer type.
	(valueTagAsString, valuePrint): Support eIntType_CPURList. 
	* value.h (eIntType_CPURList): Add.

Sat Mar 17 16:38:42 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (inputSkipLook): Remove.
	* input.h (inputSkipLook): Likewise.
	* lex.c (lexGetBinop): Follow inputSkipLook removal.

Sat Mar 17 16:28:53 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/dcb_dcw_dcd.s: Renamed to...
	* regression/tests_pass/directive_data_integer.s: ...this. Add DCQ/DCQU
	tests.
	* regression/tests_pass/dcfs_dcfd.s: Renamed to...
	* tests_pass/directive_data_fp.s: ..this.
	* code.c (codeEvalLow): Implement implicit conversion from 1 char string
	to integer when string result is not wanted.
	* decode.c (oDecodeTable): Add DCQ entry.
	* directive_data.c (DefineInt): Add size 8 case.
	(c_dcq): Add.
	* directive_data.h (c_dcq): Add.
	* value.c (Value_Assign, valueFree, Value_ResolveSymbol, valueEqual,
	valueTagAsString, valuePrint): Add ValueInt64 support.
	* value.h (ValueInt64): Add.
	(Value): Add Int64 struct.
	(Value_Int64): Add.
	* expr.c (prim): Add LexInt64 case.
	* eval.c (Eval_NegValue): Add ValueInt64 case.
	* targetcpu.c (Target_CheckFeature): Mark feature argument as unused.
	* lex.c (lexint): Renamed to Lex_GetInt. Let it return a Lex object.
	Add didOverflow parameter.  Make it LexInt64 aware.
	(lexPrint): Add LexInt64 case.
	* lex.h (LexInt64): Define.
	(Lex): Add Int64 struct.

Sat Mar 17 03:13:19 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/instr_sxt_uxt.s: Add.
	* decode.c (oDecodeTable): Add SXT/UXT.
	* m_cpu.c (core_bitfield_instr): Add test on Rn being 13.
	(core_sxt_lxt, m_sxt, m_lxt): Add.
	* m_cpu.h (m_sxt, m_lxt): Add.
	* lex.c (Lex_GetBuiltinVariable): Let {CODESIZE} be 16 or 32, no longer
	26.

Tue Mar 13 22:52:57 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/instr_bfc_bfi.s: Renamed to...
	* regression/tests_pass/instr_bfc_bfi_sbfx_ubfx.s: ...this.  Add SBFX
	and UBFX tests.
	* decode.c (oDecodeTable): Add SBFX and UBFX.
	* m_cpu.c (BitFieldType_e): Add.
	(core_bfc_bfi): Renamed to core_bitfield_instr.
	(m_sbfx, m_ubfx): Add.
	* m_cpu.h (m_sbfx, m_ubfx): Add.

Tue Mar 13 02:53:20 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/instr_bfc_bfi.s: Add.
	* decode.c (oDecodeTable): Add BFC/BFI.
	* option.c (Option_GetInstrWidth): Fault narrow instruction specifier
	in ARM mode.
	* m_cpu.c (m_und): Remove check on narrow instruction specifier in
	ARM mode.
	(core_bfc_bfi, m_bfc, m_bfi): Add.
	* m_cpu.h (m_bfc, m_bfi): Add.

Sun Mar 11 22:41:30 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/dcfs_dcfd.s: Add floating point literal tests.
	* put.c (Put_FloatDataWithOffset): Refactor union arm_float,
	arm_double_fpa and arm_double_vfp definition out into...
	* fpu.h: ...this.
	* state.c (oDefaultSyntax): Initialise to eSyntax_Both instead of
	eSyntax_PreUALOnly.
	* main.c (main): --32 and --arm means eSyntax_Both, not
	eSyntax_PreUALOnly. 
	* get.h (ASL): Define as LSL.
	* lex.c (Lex_GetFloatFloatingPointLiteral,
	Lex_GetDoubleFloatingPointLiteral): Add.
	(lexGetPrim): Add support for floating point literals.

Sat Mar 10 18:44:51 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/align_instr.s: Add.
	* m_cpuctrl.c (branch_shared): Support branch instructions at currently
	unaligned area index.
	* README: Add releases entry.

Sat Mar  3 03:25:17 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/misc.s: Move SWP/SWPB tests to...
	* regression/tests_pass/instr_swp.s: ...here.  Enhance test with
	condition codes and UAL vs pre-UAL syntax.
	* m_cpumem.c (m_swp): Ignore when in Thumb mode.  Add test on register
	values.
	* option.c, option.h (optionCondB): Rename to Option_CondB and support
	UAL syntax.

Sat Mar  3 00:28:46 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/nop_new_style.s: Rename to...
	* regression/tests_pass/instr_nop_new_style.s: ...this.  Add Thumb
	test.
	* regression/tests_pass/nop_old_style.s: Rename to...
	* regression/tests_pass/instr_nop_old_style.s: ...this.
	* regression/tests_pass/instr_und.s: Add.
	* regression/tests_pass/builtinvar_linenum.s: Improve comment.
	* put.c, put.h (Put_InsWithOffset, Put_Ins): Add 'size' parameter.
	* decode.c (po_void, po_void_pm): Change return value type back to bool.
	(decode_table_t): Add updateMap field.
	(oDecodeTable): Update.  Add UND.
	(IsARMOrThumbInstr): Add.
	(decode): Fix assert.  Follow po_void/po_void_pm/decode_table_t changes.
	* decode.h (Rslt_e): Remove.
	* m_cpuctrl.c, m_cpuctrl.h, help_cop.c, m_cop.c, m_cop.h, m_cpumem.c,
	m_cpumem.h, m_cpu.c, m_cpu.h, m_fpe.c, m_fpe.h, m_copmem.c, m_copmem.h,
	directive_data.c, directive_data.h: Follow above changes.
	* directive_data.c (DefineInt_RelocUpdater, DefineInt): Support swapHalfwords.
	(c_dci): Support 2 byte Thumb instructions.
	* directive_data.h (DefineInt_PrivData_t): Add swapHalfwords field.
	* lit.c (Lit_DumpPool): Follow DefineInt_PrivData_t change.
	* option.c (Option_GetInstrWidth): Fix implementation.
	(IsEndOfKeyword): Fix width specification parsing.
	* area.c (Area_MarkStartAs): Simplify.
	* m_cpu.c (m_nop): Support Thumb.
	(m_und): Add.
	* targetcpu.c, targetcpu.h (Target_CheckFeature): Add dummy
	implementation
	* targetcpu.h (Arch_Feature_e): Add.

Fri Mar  2 16:16:18 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/symbols.s: Add test on redefining same symbol.
	* regression/tests_pass/variables.s: Add test with register cases.
	* regression/tests_pass/operator_relational.s: Reimplement using
	macro.  Add test case for comparing addr.
	* symbol.c (Symbol_Define): Only give error on redefining symbols
	for non-absolute symbols. 
	* directive_symbol.c: Revert ValueRegister, registers are acting like
	integers.  Introduce Value::Data.Int.type.  Renamed eRegType_* to
	eIntType_*.
	* code.c, area.c, value.c, value.h, predef_reg.c, get.c, asm.c,
	eval.c, lit.c: Likewise.
	* eval.c (COMPARE): Put test on ValueAddr back in.

Wed Feb 29 00:58:58 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* configure.ac (AC_CHECK_FUNCS): Add strcasecmp.
	* area.c, input.c: Add include alloca.h.
	* strdup.c (strncasecmp): Character comparison should happen on
	lowercase characters.
	(strcasecmp): Add.
	* phase.h, predef_reg.h: Add terminating newline.

Sun Feb 12 23:34:02 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

  	* regression/tests_pass/operator_reverse_cc.s: Add.
	* regression/tests_pass/operator_cc_encoding.s: Add.
	* regression/tests_pass/operator_rconst.s: Add.
	* regression/tests_pass/operator_string.s: Add :LOWERCASE: and
	:UPPERCASE: tests.
	* regression/tests_pass/operator_relational.s: Add integer vs 1
	character string tests. Add register tests. Move :LEOR: test to...
	* regression/tests_pass/operator_boolean.s: ...here.
	* lexAcorn.c, lexAcorn.h: Merge into...
	* lex.c: ...this.
	(Lex_OperatorAsStr): Add support for eOp_LowerCase, eOp_UpperCase,
	eOp_RevCC, eOp_CCEnc and eOp_RConst.
	* lex.h: Rename Op_* to eOp_*, Operator to Operator_e.
	* Makefile.am: Follow lexAcorn.c merge.
	* decode.c (oDecodeTable): DCI has now eCB_VoidPMatch callback.
	(decode): Only give Thumb unsupported warning once.
	* code.c, code.h, m_cpuctrl.c, help_cop.c, m_cop.cm,
	directive_storagemap.c,	m_cpumem.c, directive_data.c, m_fpe.c,
	m_copmem.c, m_cpu.c, eval.c, eval.h, lex.c: Follow optionError to
	kOption_NotRecognized rename. Follow Op_* to eOp_* renames. Follow
	Operator to Operator-e rename.
	* directive_data.c (DefineInt_RelocUpdater, DefineInt): unsigned char
	cast value before calling Put_AlignDataWithOffset.
	(c_dci): Support .W postfix.
	* directive_data.h (c_dci): Follow API change.
	* option.c, option.h (optionError): Rename to kOption_NotRecognized.
	(Option_GetInstrWidth): Add.
	(IsEndOfKeyword): Allow instruction width specifier to terminate
	keyword as well.
	* expr.c (prim): LexOperator: Remove Op_none test.
	* eval.c (GetCCode): Add.
	(evalUnop): Add support for :LOWERCASE:, :UPPERCASE:, :REVERSE_CC:,
	:CC_ENCODING:, :RCONST:
	(COMPARE): Remove comparisions between ValueAddr.
	(evalBinop): Simplify eOp_EQ and eOp_NE.
	* value.c, value.h (ValueRegister): Add.
	* directive_symbol.c (Define, c_cn, c_fn, c_rn, c_cp): Teach about
	ValueRegister.
	* symbol.h (SYMBOL_CPUREG,SYMBOL_FPUREG,SYMBOL_NEONQUADREG,
	SYMBOL_NEONDOUBLEREG,SYMBOL_VFPSINGLEREG,SYMBOL_COPREG,SYMBOL_COPNUM,
	SYMBOL_GETREGTYPE): Remove.
	* symbol.c (Symbol_Define, symbolPrint): Follow SYMBOL_* removal.

Sun Feb 12 14:35:31 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/record_basic.s: Renamed to...
	* regression/tests_pass/storagemap_basic.s: ...this.
	* regression/tests_pass/register_based_map.s: Renamed to...
	* regression/tests_pass/storagemap_register.s: ...this.
	* storage.c, storage.h: Renamed to...
	* directive_storagemap.c, directive_storagemap.h: ...these.
	* code.c, decode.c, Makefile.am: Follow renames.

Sun Feb 12 14:08:35 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/reserve_space.s: Add.
	* put.c (ReportOverflow): Add.
	(Put_DataWithOffset): Add times parameter. Use ReportOverflow.
	(Put_InsWithOffset): Make use of Put_DataWithOffset.
	* put.h (Put_DataWithOffset): Add times parameter.
	* decode.c (oDecodeTable): Add FILL.
	* area.c, area.h (c_align, c_reserve): Move to...
	* directive_data.c, directive.h: ...here.
	(DefineInt_RelocUpdater, DefineInt): Follow Put_AlignDataWithOffset API
	change.
	(ReserveSpace): Add.
	(c_fill): Add.
	* lit.c (Lit_DumpPool): Follow Put_AlignDataWithOffset API change.

Sat Feb 11 18:01:47 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c, commands.h: Refactor into...
	* directive_data.c, directive_data.h: ...this and...
	* directive_file.c, directive_file.h: ...this and...
	* directive_misc.c, directive_misc.h: ...this and...
	* directive_symbol.c, directive_symbol.h: ...this.
	* Makefile.am, lit.c, decode.c: Follow changes.
	* area.c, macros.c, whileif.c: Remove useless include commands.h.

Sat Feb 11 17:08:51 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* decode.h (Rslt_e): Add.
	* decode.c (po_void, po_void_lc): Return Rslt_e iso bool.
	(po_void_lc): Rename to po_void_pm.
	(po_nolex): Add.
	(decode_table_t::result): Remove.
	(decode_table_t::instr): Add.
	(oDecodeTable): Follow changes.
	* commands.c, commands.h, m_cpuctrl.c, m_cop.c, m_cpuctrl.h, m_cpumem.c,
	m_cop.h, m_cpumem.h, area.c, area.h, m_fpe.c, m_fpe.h, m_copmem.c,
	m_copmem.h, m_cpu.c, m_cpu.h: Follow changes.

Sat Feb 11 13:49:29 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): !, ALIGN, AOF, AOUT, AREA, ARM, ASSERT,
	CODE16, CODE32, ENTRY, EXPORT, EXTERN, GET, GLOBAL, IDFN, IMPORT,
	INCLUDE, INFO, KEEP, LTORG, OPT, ORG, PRESERVE8, STRONG, SUBT, THUMBX,
	THUMBX, TTL: Don't allow a label in front of these directives.

Mon Feb  6 04:08:14 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/builtinvar_codesize_config.s: Add.
	* regression/tests_pass/builtinvar_areaname1.s: Add.
	* regression/tests_pass/builtinvar_areaname2.s: Add.
	* regression/tests_pass/builtinvar_opt.s: Add.
	* regression/tests_pass/builtinvar_cpu1.s: Add.
	* regression/tests_pass/builtinvar_cpu2.s: Add.
	* regression/tests_pass/builtinvar_inputfile.s: Add.
	* regression/tests_pass/builtinvar_linenum.s: Add.
	* regression/tests_pass/builtinvar_pc.s: Enhance for testing .
	* regression/tests_pass/lowercase.s: Add -CPU option to silence NV
	deprecation warning.
	* regression/tests_pass/arithmetic1.s: Add -APCS option to silence
	CMN/... + "P" warning.
	* commands.c: Have consistent line number variables as 'lineNum' and
	unsigned. Also filename variables are named 'fileName'.
	* os.c, os.h: Likewise.
	* m_cpuctrl.c: Likewise.
	* m_cpumem.c: Likewise.
	* m_fpe.c: Likewise.
	* help_cop.c: Likewise.
	* error.c, error.h: Likewise.
	* local.c, local.h: Likewise.
	* filestack.c, filestack.h: Likewise.
	* area.c: Likewise.
	* macros.c, macros.h: Likewise.
	* whileif.c: Likewise.
	* reloc.c, reloc.h: Likewise.
	* asm.c: Likewise.
	* include.c, include.h: Likewise.
	* fix.c, fix.h: Likewise.
	* lit.c: Likewise.
	* lex.c: Likewise.
	* commands.c, commands.h (c_opt): Moved to...
	* opt.c, opt.h: ...here.
	* Makefile.am (opt.c): Add.
	* decode.c (decode): Only give error on currently unsupported
	Thumb/ThumbEE when processing an instruction.
	* filestack.c, filestack.h (FS_GetBuiltinVarLineNum,
	FS_GetBuiltinVarLineNumUp, FS_GetBuiltinVarLineNumUpper): Add.
	* macros.c (FS_PushMacroPObject): Initialise MacroPObject::optDirective.
	(FS_PopMacroPObject): Restore gOpt_DirectiveValue.
	* macros.h (MacroPObject): Add optDirective field.
	* phase.c (Phase_PrepareFor): Add call to Opt_PrepareForPhase.
	* targetcpu.c (Target_GetCPU): Return "Generic ARM" when an
	architecture got selected with -CPU
	* input.c, input.h (Input_MatchStringLower): Add.
	* lexAcorn.c (lexAcornPrim): Add support for {AREANAME}, {CODESIZE},
	{INPUTFILE}, {LINENUM}, {LINENUMUP}, {LINENUMUPPER}.
	{CPU}: Fix when architecture selected.

Sun Feb  5 20:09:39 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/arithmetic1.s: Reimplemented using macros
	exercising more combinations.
	* option.c (Option_CondSP): Renamed from optionCondSP.  Add UAL
	support.
	* option.h, m_cpu.c: Follow Option_CondSP rename.
	* regression/tests_pass/loadstore_ual.s: Add no condition code
	specified test case.

Sun Feb  5 16:25:43 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/Makefile (ASFLAGS): Remove -CPU option.
	* regression/tests_pass/sev_wfe_wfi_yield.s: Specify CPU option.
	* regression/tests_pass/misc.s:
	* regression/tests_pass/dbg.s
	* regression/tests_pass/dcb_dcw_dcd.s
	* regression/tests_pass/mul_mla_mls.s
	* regression/tests_pass/loadstore2.s
	* regression/tests_pass/loadstore2.s
	* regression/tests_pass/copro.s
	* regression/tests_pass/dmb_dsb_isb.s
	* regression/tests_pass/rfe_srs.s
	* regression/tests_pass/smc.s
	* regression/tests_pass/loadstore.s
	* regression/tests_pass/branch.s
	* regression/tests_pass/load_literal.s
	* regression/tests_pass/clrex_ldrex_strex.s
	* regression/tests_pass/pld_pldw_pli.s

	* regression/tests_pass/nop.s: Move to...
	* regression/tests_pass/include/nop.s: ...here.
	* regression/tests_pass/nop_new_style.s: Add.
	* regression/tests_pass/nop_old_style.s: Add.

	* regression/tests_pass/loadstore_ual.s: Add.

	* regression/tests_pass/dsp.s: Move LDRD/STRD tests to...
	* regression/tests_pass/loadstore2.s: ...here. Test if 'T' variant
	does not result in pre-index.
	* m_cpumem.c (dstmem): D variant : Test for whether first transfer
	register is uneven.  Support specifying second transfer register.
	T variant: Don't switch to pre-index mode.
	(m_ldr,m_str): Follow optionCondBT to Option_LdrStrCondAndType rename.
	* option.c (GetCCodeIfThere): Renamed from GetCCode.  Add checks for
	NV condition code.
	(GetCCode): Use GetCCodeIfThere.
	(Option_LdrStrType): Renamed from optionCondBT.
	(Option_LdrStrCondAndType):  New, support UAL syntax.
	* option.h (Option_LdrStrCondAndType): Renamed from optionCondBT.
	(HS,LO): Remove.
	(EXCEPTION_BIT): Renamed from EXEPTION_BIT.
	* m_fpe.c: Follow EXCEPTION_BIT rename.

Tue Jan 31 03:34:35 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/ldm_stm_pop_push.s: Fix test.
	* option.c (optionCondLdmStm): Default stack type of LDM/STM is IA.

Sun Jan 29 19:50:59 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c: Move predefined register values to...
	* predef_reg.c: ...here (new file).
	* symbol.h (SYMBOL_NEONQUADREG, SYMBOL_NEONDOUBLEREG,
	SYMBOL_VFPDOUBLEREG, SYMBOL_VFPSINGLEREG): Add.
	* decode.c (decode): Add test on currently unsupported Thumb/ThumbEE
	state.
	* asm.c, asm.h (gASM_Phase): Move to...
	* phase.c, phase.h (gPhase): ...here.
	(Phase_PrepareFor): Add.
	* m_cpu.c, m_cpu.h (c_code16,c_thumb,c_thumbx,c_code32): Move to...
	* state.c, state.h: ...here (new files).
	(Syntax_e, InstrType_e, State_SetCmdLineSyntax,
	State_SetCmdLineInstrType, State_PrepareForPhase, State_GetSyntax,
	State_GetInstrType): Add.
	* main.c (-16,-32,-arm,-thumb,-thumbx): Add new command line options.
	* Makefile.am (phase.c, predef_reg.c, state.c): Add.
	* commands.c, m_cpuctrl.c, help_cop.c, error.c, local.c, local.h,
	m_cpumem.c, area.c, area.h, macros.c, reloc.c, get.c, asm.c, main.c,
	asm.h, eval.c, lit.c: Follow above changes.

Sun Jan 29 15:55:33 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* macros.c (MKeyword_e): Add.
	(Macro_GetKeyword): Renamed from Macro_IsMENDAtInput and support
	MACRO keyword as well.
	(c_macro): Use Macro_GetKeyword iso Macro_IsMENDAtInput and add check
	on nested MACRO construction.

Sun Jan 29 15:28:22 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (DefineInt_RelocUpdater): Fix reloc issue against
	current area.
	* m_cpuctrl.c (Branch_RelocUpdater): Support more reloc combinations
	(based on what we have in DefineInt_RelocUpdater).

Sat Jan 28 13:48:16 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* area.h (Area): Add 'number' field. Change 'int norelocs' field into
	'uint32_t numRelocs'.
	* area.c (areaNew): Follow Area struct change.
	* symbol.h (Symbol): Change type 'codeSize' from size_t to uint32_t,
	'offset' from unsigned int to uint32_t.  Update comments on the meaning
	of 'used' field.
	* symbol.c (Symbol_CreateSymbolOut): Follow the new Symbol::used
	conventin.
	* output.c (Output_AOF, Output_ELF): Follow above changes.
	* reloc.c (relocELFOutput): Likewise.

Sat Jan 28 03:30:49 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* put.c (Put_DataWithOffset): Made local.  Change type of data
	parameter from ARMWord to uint64_t.  Increase area index for
	NOINIT areas.  Follow AREA_IMAGE to Area_IsNoInit change.
	(Put_FloatDataWithOffset): Use Put_DataWithOffset.
	(Put_InsWithOffset): Increase area index for NOINIT areas.
	Follow AREA_IMAGE to Area_IsNoInit change.  Allow zero value
	instruction in NOINIT area.
	* put.h (Put_DataWithOffset): Remove.
	* area.h (AREA_IMAGE): Remove.
	(Area_IsNoInit): Add.
	* output.c (Output_AOF): Follow AREA_IMAGE to Area_IsNoInit change.
	(Output_ELF): Likewise.

Fri Jan 27 03:11:21 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* output.c, output.h (outputInit, outputFinish, outputRemove,
	outputAof, outputElf): Rename to Output_Init, Output_Finish,
	Output_Remove, Output_AOF, Output_ELF.
	* main.c: Follow output.c/output.h renames.

Fri Jan 27 03:03:31 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (Symbol_CreateSymbolOut): Don't report the implicit area
	name for unused imported/exported symbols.

Sun Jan 22 19:31:25 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (SymbolCompare): Fix AOF symbol sorting.
	(Symbol_CreateSymbolOut): When doing AOF output, have local symbols
	last.

Sun Jan 22 18:12:47 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/label_alignment.s: Add.
	* commands.c (c_dci): Use Area_AlignArea iso Area_AlignTo.
	* symbol.c (SymbolCompare): Order AOF mapping symbols differently.
	There are no specifications of this, so this is guesswork.
	* put.c (Put_DataWithOffset, Put_InsWithOffset): Follow
	Area_EnsureExtraSize API change.
	* put.c, put.h (Put_Data, Put_DataWithOffset, Put_AlignDataWithOffset,
	Put_FloatDataWithOffset, Put_InsWithOffset, GetWord): Change type of
	offset into uint32_t and size into unsigned.
	* decode.c (decode): Align label value in front of ARM/Thumb
	instruction.
	* local.c (c_rout): Align label value.
	* area.c, area.h (Area_EnsureExtraSize): Add area symbol parameter.
	(Area_AlignOffset, Area_AlignArea): Add.
	(Area_AlignTo): Change type offset into uint32_t and type align into
	unsigned.
	(Area_MarkStartAs): Add area symbol and offset parameters.
	* asm.c, asm.h (ASM_DefineLabel): Change type offset into uint32_t.
	* lit.c (Lit_DumpPool): Follow Area_MarkStartAs API change. Use
	Area_AlignArea iso Area_AlignTo.

Sun Jan 15 22:06:27 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/register_types.s: Add.
	* symbol (Symbol_Define): Don't check for symbol redefinition being
	done in different areas for registers.

Sun Jan 15 21:14:55 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* main.c (finished): Remove.
	(atexit_handler): Delete output file on error when we have at least
	reached the assembling stage.

Sun Jan 15 19:28:41 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/option_uppercase.s: Add.
	* decode.c (decode): Take option_uppercase into account.
	* main.c (option_uppercase): Add.
	(main): Add support for -UpperCase option.
	* main.h (option_uppercase): Add.

Sun Jan 15 19:03:25 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/aasm_compatibility.s: Add.
	* regression/Makefile (RUNOPTACT,RUNOPTREF): Add.
	* commands.c (c_aof, c_aout): Add minimal legacy support for AOF, AOUT.
	* commands.h (c_aof, c_aout): Likewise.
	* decode.c (oDecodeTable): Add AOF and AOUT.
	* symbol.c (oSymRegsAPCS): Revert the APCS register names v6, sl and
	fp (this is conditionally done depending on APCS value). Revert
	upcase APCS register name support (ObjAsm doesn't do this either).
	(c_export,c_strong,c_keep,c_import): Disable directive when in AAsm
	compatibility support.
	* area.c (newArea): Change type type into uint32_t.
	(c_entry,c_area): Disable directive when in AAsm compatibility support.
	(c_area): Factor out APCS & soft-float area type bits setting into...
	(Area_ApplyAPCSOption): ...this.
	(Area_Ensure): Create ABS$$BLOCK area when in AAsm compatibility mode.
	* main.c (option_abs): Add.
	(main): Add support for -ABSolute option.
	* main.h (option_abs): Add.

Sun Jan 15 15:05:50 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (DefineInt_RelocUpdater): Add missing test on current
	area.

Sun Jan 15 19:13:00 CST 2011   Christopher Martin  <belles@internode.on.net>

	* symbol.c (oSymRegsAPCS): Predefined APCS register names v6, sl and fp
	and uppercase APCS register names.
	(symbolFree): Changed parameter from Symbol* to Symbol** and
	moved list-maintenance logic into here from...
	(symbolRemove): ...here, simplfying the block that calls symbolFree.
	(Symbol_Define): Ensured that when a referenced label is actually defined,
	the Symbol struct's areaDef field is updated to reflect the current area.
	Trying to define a label in two different areas will generate an error.

Thu Jan  5 02:05:35 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (DefineInt_RelocUpdater): Support relative relocations.
	* code.c (Code_HasUndefSymbols): Remove.
	(Code_EvalLowest.c): Factor out symbol resolving to Value_ResolveSymbol.
	* code.h (Code_HasUndefSymbols): Remove.
	* value.c, value.h (Value_ResolveSymbol): Add.
	* aoffile.h: Reposition comments.
	* fix.c (Fix_Int): Use assert instead of errorAbort.

Wed Jan  4 23:27:33 CET 2012  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/variables.s: Fix test.
	* area.c (c_area): Remove 2nd sanity check on AREA_REENTRANT.  Minor
	cleanup.
	* main.c (main): Adjust copyright year.

Fri Dec 30 19:00:39 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/local_label.s: Renamed to...
	* regression/tests_pass/local_label1.s: ...this.  Removed the :DEF:
	based tests.  Enhanced.
	* regression/tests_pass/local_label0.s: Add.
	* regression/tests_pass/local_label2.s: Add.
	* regression/tests_pass/local_label3.s: Add.
	* regression/tests_pass/local_label4.s: Add.
	* symbol.c (Symbol_CreateSymbolOut): Removed local label code.
	(symbolPrint): Fix printing out area symbol.
	* m_cpuctrl.c (m_adr): Evaluate all arguments even in pass one.
	* local.c, local.h: Complete rework.
	* lex.c: Follow local label API changes.
	* filestack.c (FS_GetMacroDepth): Add.
	(FS_PopPObject): Call Local_FinishMacro.
	* filestack.h (FS_GetMacroDepth): Add.
	* input.c, input.h (Input_LocalLabel): Removed.
	* get.c (getRhs): Evaluate all arguments even in pass one.
	* main.c (main): Check for errors just before output.

Fri Dec 30 03:13:56 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/fpe_immediate.s: Remove obsolete
	(and default now) option -autocast.
	* regression/tests_pass/fpe_literal.s: Likewise.
	* regression/tests_pass/fpe_memory.s: Likewise.

Thu Dec 22 17:46:30 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* asm.c (ASM_NextLine, ASM_DoPass): Simplify code a little bit.

Sat Dec 17 15:42:08 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (Symbol_CreateSymbolOut): Add warning for unused
	imported and undefined exported symbols.
	Move test on mapping symbols to...
	(NeedToOutputSymbol): ...here.  Properly test for
	SYMBOL_REFERENCE and SYMBOL_GLOBAL symbols for determining
	whether they should be outputed or not.
	* symbol.h (SYMBOL_REFERENCE, SYMBOL_GLOBAL): Update comments.

Sat Dec 10 13:39:26 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c (ADR_RelocUpdaterCore): Less confusing error message.

Fri Dec  2 02:28:38 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/swi.s: Enhance testcase.
	* m_cpuctrl.c (m_swi): Only give error on Invalid SWI/SVC argument
	during pass 2.
	* symbol.c (symbolPrint): Symbol::areaDef can be NULL.

Fri Dec  2 02:00:02 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* eval.c (evalUnop): Case Op_fsize: Fix FILE handle leak.

Wed Nov 30 03:05:20 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (c_head): Remove.
	(c_data): Add.
	* commands.h (c_head): Likewise.
	(c_data): Add.
	* decode.c (oDecodeTable): Add DATA.  Remove HEAD, RET, STACK and TAIL.
	* m_cpuctrl.c (m_stack, m_ret, m_tail): Remove.
	* m_cpuctrl.h (m_stack, m_ret, m_tail): Likewise.

Tue Nov 29 02:23:19 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (NeedToOutputSymbol): Limit KEEP'd symbols to Int and Bool
	types.
	(symFlag): Avoid local/global symbols to be marked for STRONG, KEEP,
	EXPORT or IMPORT.
	* variables.c (declare_var): Tune erorr when symbol was already
	marked for IMPORT, EXPORT, STRONG or KEEP.
	(c_set): Avoid wrong assert when symbol was already marked for
	IMPORT, EXPORT, STRONG or KEEP.

Sun Nov 27 22:18:30 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (c_lnk): Dump literal pool.

Sun Nov 27 21:05:44 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/include/foo-filetypeAB3,ab3,
	regression/tests_pass/include/foo-3bytes.s,
	regression/tests_pass/operator_fileinfo.s: Added.
	* riscos_c.c: Rename to...
	* os.c: ...this.
	(ASFile_Create, ASFile_Free): Add.
	(CanonicalisePath): Make local.
	* os.h (ASFile): Define.
	(ASFile_Create, ASFile_Free): Add prototypes.
	* include.c (Include_Find): Create ASFile version based on Include_Get.
	(Include_Get): Use Include_Find and merge Include_Open in it.
	* include.h (Include_Get): Use ASFile.
	(Include_Find): Add.
	* commands.c (c_incbin): Follow Include_Get API change.
	* filestack.c (FS_PushFilePObject): Likewise.
	* eval.c (evalUnop): Implement Op_fattr, Op_fexec, Op_fload.
	Reimplement Op_fsize.
	* Makefile.am: Follow riscos_c.c to os.c rename.

Sun Nov 27 16:40:56 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c, os.h, local.c, strdup.c, macros.c, input.c, lexAcorn.c,
	filename.c, main.c, eval.c: Add include common.h.
	* variables.c, value.c, strdup.c, macros.c, input.c, get.c, main.c,
	eval.c, lex.c: Remove include os.h.
	* os.h (strndup, strdup, strncasecmp): Move prototypes to...
	* common.h: ...here.
	* lit.c (DEBUG_LIT): Add.

Mon Nov 21 02:23:27 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/macro_args.s: Enhance.
	* macros.c (c_macro): Support vertical bars around macro arguments.

Sun Nov 20 23:17:23 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c: Improve previous change.

Sun Nov 20 23:02:10 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* variables.c, variables.h (c_gbl, c_lcl, c_set): Drop doLowerCase
	parameter.
	* decode.c: Follow c_gbl, c_lcl, c_set parameter change.

Sun Nov 20 22:40:21 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/lowercase.s: Add.
	* common.h: Add.
	* lex.c (Lex_MakeLocalLabel): Make use of UNUSED.
	* help_cop.c (DestMem_RelocUpdaterCoPro): Likewise.
	* m_cpumem.c (DestMem_RelocUpdater): Likewise.
	* commands.c, commands.h, decode.c, m_cpuctrl.c, m_cop.c, m_cpuctrl.h,
	m_cpumem.c, m_cop.h, m_cpumem.h, option.c, variables.c, option.h,
	variables.h, m_fpe.c, m_fpe.h, m_copmem.c, m_copmem.h, m_cpu.c,
	m_cpu.h: Add support for lowercase instruction mnemonics.

Tue Nov 15 22:31:06 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/decode.s: Enhance.
	* symbol.c (symbolPrint): Output defining area and code size.
	* variables.c (c_lcl): Reset defining area and code size.

Tue Nov 15 20:37:49 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (decode): Don't give warning on unsupported local labels
	when it concerns a macro.

Mon Nov 14 23:20:43 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/local_label.s: Enhance.
	* symbol.c (Symbol_CreateSymbolOut): Make missing local label an
	abort error to avoid an assert going off later.
	* decode.c (decode): Define local lable before trying to parse
	the mnemonic.

Sun Nov 13 18:33:56 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/include/predef_reg_test.s: Add test on v8.
	* regression/tests_pass/apcs-none.s: Update reference.
	* regression/tests_pass/apcs-3-reentrant.s: Likewise.
	* regression/tests_pass/apcs-3.s: Likewise.
	* regression/tests_pass/apcs-3-reentrant-noswstackcheck.s: Likewise.
	* regression/tests_pass/apcs-3-nofp.s: Add.
	* symbol.c (Symbol_Init): When a nofp APCS flavour is selected, don't
	define fp but define v8 instead.

Sun Nov 13 17:47:43 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* main.c, main.h (option_autocast): Remove.
	* commands.c (DefineReal): Drop support for option autocast.  Assume
	this to be always set.
	* code.c (codeEvalLow): Likewise.
	* help_cop.c (help_copAddr): Likewise.
	* value.c (valueEqual): Likewise.
	* m_fpe.c (getFloatRhs): Likewise.
	* lit.c (Lit_DumpPool): Likewise.

Sun Nov 13 17:28:06 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/variable_substitution.s: Enhance test.
	* input.c (Input_ArgSub): Vertical bar prevented variable substitution.

Sun Nov 13 16:22:24 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (NeedToOutputSymbol): Fix KEEP support.
	(Symbol_OutputForAOF, Symbol_OutputForELF): Remove ValueCode support.
	* m_cpuctrl.c (Branch_RelocUpdater, branch_shared): Simplify.
	* output.c (outputElf): Fix section start address for absolute
	areas.
	* targetcpu.c (Target_NeedAtLeastArch): Avoid crash when no CPU can
	be suggested.
	* reloc.c (Reloc_QueueExprUpdate): Remove test on undefined symbols.
	* eval.c (evalBinop): Remove error on addition/subtraction of two
	different symbols.

Sat Nov 12 00:11:50 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/decode.s: Add.
	* decode.c (decode): Don't match on too short mnemonic. Don't
	remove existing symbol when it is used as macro label.
	* help_cpu.c (ShiftL): un-inline.
	* whileif.c (WhileBlock_t::restoreData::offsetFile): Change type
	from long to off_t.
	* Makefile.am (asasm_CFLAGS): Add _LARGEFILE_SOURCE define.

Fri Nov 11 16:40:03 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/label.s: Add.
	* regression/tests_pass/while.s: Enhance test.
	* filestack.h (PObject::lastLineSize): Add comment.
	* macros.c (Macro_GetLine): lastLineSize was wrongly calculated
	when macro variable substitution was done.
	* input.c (Input_NextLineCore): Add buffer size check for predefine
	handling.

Wed Nov  2 01:58:58 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/variables.s: Enhance test.
	* variables.c (declare_var): Ignore type difference when local variable
	shares the same name as global variable.
	* lex.c (Lex_MakeLocalLabel): Fix compiler warning.

Wed Nov  2 00:45:10 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/adr.s: Disable tests which are too
	far fetched.  Add a new one.
	* symbol.c (Symbol_OutputForAOF, Symbol_OutputForELF): ...
	* code.c, code.h (Code_Normalize, Code_ExpandCode,
	Code_ExpandCurrAreaSymbolAsOffset, Code_HasNonAddOperator,
	Code_Assign): Remove.
	(Code_EvalLowest): Remove doNormalize parameter.  Simply
	evalUnop and evalBinop handling.
	(codeEvalLow): When result is not of required type but ValueCode
	is allowed, return ValueCode result.
	(Code_PrintValueArray): Add.
	(Stack): Change type from Code to Value.
	(FirstFreeIns): Make type unsigned.
	(codeSymbol): Add offset parameter.
	(codePosition): Follow offset in ValueSymbol change.
	(Code_ExpandCurrAreaSymbolAsAddr): Add test on factor.  Remove
	ValueCode support.
	* m_cpuctrl (branch_shared): Simplify.
	(ADR_RelocUpdaterCore): Fix offset reporting.
	* m_cpumem.c (dstmem): Give error in pass two only.
	* storage.c (storageValue, c_record, c_alloc): Add ValueSymbol.
	(c_alloc): Don't pass SYMBOL_DEFINED into Symbol_Define.
	* value.c, value.h: Add offset to ValueSymbol.
	(Value_Symbol): Add offset parameter.
	* expr.c (prim): Add zero offset to codeSymbol.
	* get.c (getRhs): Likewise.
	* asm.c (ASM_DefineLabel): Use Value_Symbol instead of Value_Code.
	* eval.c: Only give error in pass two.  Better support for
	ValueSymbol.
	* lit.c: Use Value_Symbol instead of Value_Code.

Tue Oct 25 02:13:03 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* lex.c (Lex_ReadLocalLabelFromLex): Add.
	(Lex_ReadLocalLabel): Drop noCheck parameter.  Process characters
	unsigned.
	(Lex_GetDefiningLabel): Drop noCheck parameter.
	(Lex_DefineLocalLabel): Add.
	(Lex_SkipDefiningLabel): Support more than 2 digits local labels.
	(lexPrint): Add LexLocalLabel case.
	(Lex_Char2Int): Make local.
	* lex.h (Lex): Add LocalLabel field.
	* asm.c (ASM_DefineLabel): Support LexLocalLabel.
	* input.c, input.h (Input_LocalLabel): Add.
	* decode.c (oDecodeTable): % results in data output.  END can't
	have any label.
	(decode): Fix startOffset when area gets changed.  Support
	LexLocalLabel.
	* macros.c (Macro_Call): Support LexLocalLabel.
	* regression/tests_pass/macro.s: Enhance.

Tue Oct 25 02:02:20 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* get.c (getRhs): Treat 1 character strings as unsigned
	integer.

Sun Oct 23 03:46:45 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/builtinvar_pc.s: Enhance.

Sun Oct 23 03:26:57 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_questionmark.s: Enhance.
	* commands.c (Define): Don't pass SYMBOL_DEFINE in Symbol_Define.
	* symbol.c (Symbol_Define): Make sure this can't be called
	to define area symbols.  Improve DEBUG output.
	(Symbol_CreateSymbolOutm, Symbol_OutputForAOF,
	Symbol_OutputForELF): Area symbols no longer have
	SYMBOL_DEFINED set.
	* symbol.h (SYMBOL_KIND): Update comment.
	* code.c (Code_EvalLowest): Area symbols no longer have
	SYMBOL_DEFINED set.
	* area.c (Area_Ensure, c_area): Likewise.
	* asm.c (ASM_DefineLabel): Likewise.
	* eval.c (Op_size): Support area symbols.
	* decode.c (decode): areaCurrentSymbol can not be NULL here.
	* INSTALL: Update cross-compile section.
	* reloc.c (relocFix): Improve DEBUG output.

Sat Oct 22 22:41:41 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (oArea_EntrySymbolFile, oArea_EntrySymbolLineNum): Add.
	(Area_ResetPrivateVars): Add.
	(Area_PrepareForPhase): Use Area_ResetPrivateVars.
	(c_entry): Improve error message for the 2nd occurance of ENTRY.
	(Area_MarkStartAs): Fix compiler warning.
	* decode.c (oDecodeTable): Add MEND.
	* macros.c (c_mend): Renamed to Macro_IsMENDAtInput.
	(c_macro): Follow c_mend rename.
	(c_mend): Add.
	* macros.h (c_mend): Add prototype.

Sat Oct 22 22:37:37 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (Input_ArgSub): Fix processing comments.  Fix buffer
	overflow case.

Sat Oct 22 22:29:52 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* eval.c (GetInt): Value 1 character long string should be
	handled as unsigned.
	(COMPARE): Support comparing integers and 1 character long
	strings.
	* regression/tests_pass/operator_relational.s: Enhance.

Sat Oct 22 22:22:45 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* INSTALL: Add.

Fri Oct 14 02:15:19 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* asm.c (ASM_DoPass): Break out assemble loop when longjmp is
	taken.
	* filename.c, filename.h: Change eB_Dot_A into eB_DirSep_A.
	* include.c (Include_Get): Follow eB_Dot_A change into eB_DirSep_A.
	Fix include path processing.
	* output.c (): Follow eB_Dot_A change into eB_DirSep_A.

Mon Oct 10 23:20:11 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* filestack.c (File_GetLine): don't chop off last character of file
	when it is not NL.
	* decode.c (decode): Avoid early breakout when mnemonic hasn't been
	fully matched.
	* regression/tests_pass/macro.s: Enhance test.

Mon Oct 10 00:55:46 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* code.c (codePosition): Add workaround.
	* eval.c (evalBinop): Enhance Op_ne for Symbol comparison.
	* regression/tests_pass/operator_relational.s: Enhance with Symbol
	equivalence tests.

Sat Oct  8 19:09:57 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (c_align): Add support for ABS area.  Negative offset values
	are allowed.  Simplified implementation.
	* regression/tests_pass/align.s: Add.
	* decode.c (oDecodeTable): Add FIXME for RLIST.

Sat Oct  8 16:43:23 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.h (SYMBOL_NOTRESOLVED): Remove.
	(SYMBOL_RW): Add.
	* symbol.c (symbolPrint): Add support for SYMBOL_MACRO_LOCAL and
	SYMBOL_RW.  Follow SYMBOL_NOTRESOLVED removal.
	* variables.c (declare_var): Make variable symbols with SYMBOL_RW.
	* input.c (Input_VarSub): Do only substitution for variable symbols.
	* regression/tests_pass/variable_substitution.s: Enhance test.

Sat Oct  8 15:37:42 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am (tooldir, .PHONY, install-exec-local): Remove.

Sat Oct  8 15:05:48 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* riscos_c.c (ThrowbackSendError): Fix info throwback messages.
	(ThrowbackEnd): Reset ErrorFile.
	* error.c (errorCore): Pass calling sequence as info throwback messages.
	* output.c (outputFinish): AOF output has filetype Data.

Sat Oct  8 12:57:06 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): CN/FN are not producing ARM code.
	* area.c (Area_MarkStartAs): Don't do anything when we're in the
	implicit area.
	* symbol.c (symbolSymbolELFOutput): Mention symbol name for which we
	can't find the section id.

Sat Oct  8 11:40:24 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpumem.c (DestMem_RelocUpdater): Fix load pc-rel based in ABS Area.
	* regression/tests_pass/ldr_from_addr.s: Add ABS Area test case.

Sat Oct  8 02:48:28 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_precedence.s: Add.
	* regression/tests_pass/operator_shift.s: Added :ASR: test.
	* code.c (Code_EvalLowest,codePrint): Follow OperatorAsStr to
	Lex_OperatorAsStr rename. Follow isUnop to IsUnop rename.
	* expr.c (expr,exprBuild): Use kPrioOp_Min and kPrioOp_Max.
	* lexAcorn.c: Use kPrioOp_* values.
	(lexAcornBinop): Add support for :ASR:.
	* eval.c (evalBinop): Add support for :LEOR: as Op_leor.
	* lex.c (Pri): Remove.
	Use kPrioOp_* values.
	(OperatorAsStr): Rename to Lex_OperatorAsStr.  Follow Op_* reshuffle.
	(lexPrint): Follow Lex00Label removal.
	* lex.h (Operator): Reshuffle according to precedence.  Add Op_leor.
	(kPrioOp_*): Define.
	(isUnop): Rename to IsUnop and turns this into an inline.
	(LexTag): Remove Lex00Label.
	(Lex): Remove Label.

Wed Oct  5 00:46:48 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* local.h (kIntLabelPrefix): Move to...
	* symbol.h: ...here.
	* local.c (routPos, rout_null, routList, routListEnd): Rename to
	RoutPos_t, oRout_Null, oRout_List, oRout_ListEnd.
	(Local_ROUTLblNo): Remove.
	(oLocal_LabelNum): Add.
	(Local_ResetLabels): Add.
	(Local_PrepareForPhase, c_rout): Make use of Local_ResetLabels.
	(Local_GetLabel): Add.
	* local.h (Local_Label_t, Local_GetLabel): Add.
	(Local_ROUTLblNo): Remove.
	* lex.c (Lex_ReadLocalLabel): Support bigger label numbers.
	(Lex_GetDefiningLabel, Lex_MakeLocalLabel): Use Local_GetLabel.

Tue Oct  4 21:42:10 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* lit.c (Lit_RegisterInt): Fix Value free problem.

Mon Oct  3 21:45:10 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* macros.h (MACRO_ARG_LIMIT): Increased to 18.
	(MACRO_ARG0): Changed from 16 to 14.
	(MACRO_ARG15): Removed.
	* macros.C (Macro_GetLine): Follow MACRO_ARG15 removal.

Fri Sep 30 01:56:17 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* filestack.h (PObject::lastLineSize): Added.
	* filestack.c (FS_GetLine): Update PObject::lastLineSize.
	(FS_PushFilePObject): Initialise PObject::lastLineSize.
	* macros.c (Macro_GetLine): Update PObject::lastLineSize.
	(FS_PushMacroPObject): Initialise PObject::lastLineSize.
	* whileif.c (if_skip, while_skip): Rename to If_Skip, While_Skip.
	(While_Unwind): Remove.
	(While_ReEvalAndDo): Renamed to While_Rewind.
	(c_while, While_Rewind, c_wend, FS_PopIfWhile): Reparse WHILE input
	line before re-evaluation.
	* regression/tests_pass/while.s: Added test case.
	* input.c (inputThisInstead): Rename to Input_ThisInstead.

Thu Sep 29 22:01:10 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* local.c (Local_ROUTLblNo): Support up to 1000 local labels.
	* local.h (Local_ROUTLblNo): Likewise.
	* lex.c (Lex_ReadLocalLabel): Likewise.
	* variables.c (varPos): Rename to VarPos.
	(varPos::symptr): Rename to VarPos::symbolP.
	(varPos::symbol): Rename to VarPos::symbol.
	(var_restoreLocals): Rename to Var_RestoreLocals.
	(var_define): Rename to Var_Define.
	* variables.h: Likewise.
	* macros.c, macro.h: Follow variables.c/variables.h renames.
	* main.c: Likewise.

Thu Sep 29 21:21:50 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* lexAcorn.c (lexAcornUnop, lexAcornBinop): Avoid inputUnGet error on
	unknown operations.

Tue Sep 27 23:42:27 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* code.c (Code_ExpandCurrAreaSymbolAsOffset): Disabled.
	* eval.c (GetInt): Added.
	(evalBinop): Extend Op_mul, Op_div, Op_mod, Op_add, Op_sub, Op_and,
	Op_or, Op_xor with support for one character long strings.
	Simplified Op_asr, Op_sr, Op_sl, Op_ror, Op_rol by using GetInt.
	Add restrict.
	* eval.h (evalBinOp): Add restrict.
	* regression/tests_pass/operator_multiplication.s: Enhanced.
	* regression/tests_pass/operator_addition_logical.s: Likewise.
	* Makefile.am (asasm_CFLAGS): Add -fstrict-aliasing -Wstrict-aliasing.

Tue Sep 27 01:13:43 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (inputGiveRestLine): Remove.
	(inputNextLineNoSubst): Remove.
	(inputArgSub): Rename to Input_ArgSub and give it a warnOnVarSubFail
	parameter.
	(inputNextLine): Rename to Input_NextLine and give it a warnOnVarSubFail
	parameter.
	(inputVarSub): Rename to Input_VarSub and give it a warnOnVarSubFail
	parameter.
	(inputNextLineCore): Rename to Input_NextLineCore.  Move END check
	and FS_PopPObject call to ASM_GetLine.
	* input.h (inputGiveRestLine, inputNextLineNoSubst): Remove declaration.
	(inputNextLine): Rename to Input_NextLine.
	(Level_e): Add.
	* asm.c (ASM_GetLine): Add.
	(ASM_DoPass): Call ASM_GetLine instead inputNextLine.
	* whileif.c (if_skip): Drop onerror and *matchingToken parameters.
	Replace inputNextLineNoSubst call by Input_NextLine (eVarSubstNoWarning).
	No longer test on END. No longer report an error on end-of-data but
	give an empty input line instead.
	(while_skip): Apply recent if_skip fixes. Report labels being used
	for WHILE/WEND.  Give an empty input line when WEND is missing.
	(c_wend,FS_PopIfWhile): Enhance error messages.
	* macros.c (c_macro): Replace inputNextLineNoSubst call by
	Input_NextLine (eNoVarSubst).
	* regression/tests_pass/if_else.s: Add test for verifying variable
	expansion being done in skipped branch.
	* regression/tests_pass/while.s: Add test for verifying variable
	expansion being done when WHILE body gets skipped.

Sun Sep 25 00:35:56 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): Mark the output of ALIGN as data.
	* area.c, commands.c, symbol.c, symbol.h, put.c, lit.c:	Get rid of
	SYMBOL_DECLARED.
	* commands.c, symbol.c, put.c, code.c, decode.c, m_cpuctrl.c,
	help_cop.c, local.c, m_cpumem.c, area.c, expr.c, output.c, asm.c,
	lit.c: Have absolute base address in area symbol Symbol::value,
	current area index value at Symbol::info.area::curIdx and size of
	area at the end of pass one at Symbol::info.area::maxIdx.
	* area.c (c_area, c_org): Make area symbol absolute when area is
	absolute.
	* area.h (AREA): Remove baseAddr, add curIdx and maxIdx.
	(Area_GetBaseAddress): Add.
	* code.c (Code_EvalLowest): Support absolute AREA symbols.
	(Code_ExpandCurrAreaSymbolAsOffset): Make static.
	* code.h (Code_ExpandCurrAreaSymbolAsOffset): Remove declaration.
	* output.c (writeElfSH): Add addr parameter.
	* regression/tests_pass/org.s: Added.
	* regression/tests_pass/def.s: Added.

Sat Sep 24 14:02:06 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* rname.c, rname.h, rname2.h: Remove.
	* filename.c, filename.h: Add.
	* Makefile.am: Follow rname.c, rname.h, rname2.h removal and
	filename.c, filename.h addition.
	* riscos_c.c (__riscosify_control): Don't do any filename processing
	in UnixLib (when used).
	* output.c (outputInit): Use FN_AnyToNative.
	(outputAof, outputElf): Add verbose message.
	* include.c (Input_Get,Input_Open): Use FN_AnyToNative.
	* docs/asasm.txt: Add.

Sun Sep 11 14:06:06 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* error.c (errorCore): PObject::name can't be NULL anymore.
	* filestack.c (ReportFSStack, FS_GetCurFileName): Likewise.

Sun Sep 11 14:01:08 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* error.c (no_errors, no_warnings, ThrowbackStarted): Rename to
	oNumErrors, oNumWarnings, oThrowbackStarted.
	(errorCore): Report error backtrace via throwback as well.

Sun Sep 11 13:53:10 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* riscos_c.c (OSCanonicalisePath): Make it static.
	* os.h (OSCanonicalisePath): Remove prototype.

Sun Sep 11 13:50:41 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* macros.c (c_macro): Fix comment.
	* main.c (main): Unbuffered stdout for DEBUG builds.

Sun Sep 11 13:39:32 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* lex.c (Lex_SkipDefiningLabel): Add.
	* lex.h (Lex_SkipDefiningLabel): Likewise.
	* whileif.c (if_skip, while_skip): Don't define local labels when
	skipping if/while bodies.

Sun Sep 11 13:33:06 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* local.h (Local_CurROUTId): Remove.
	(Local_GetCurROUTId, Local_DumpAll): Add.
	* local.c: Likewise.
	(Local_PrepareForPhase): Follow Local_CurROUTId removal and use
	Local_GetCurROUTId.
	(c_rout): Likewise.  Initialise routPos::next.
	* lex.c (Lex_ReadLocalLabel, Lex_MakeLocalLabel,Lex_GetDefiningLabel):
	Follow Local_CurROUTId removal and use Local_GetCurROUTId.

Sun Sep 11 12:11:22 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* filestack.c (FS_PushFilePObject): Add return value.
	* filestack.h (FS_PushFilePObject): Likewise.
	* commands.c (c_get, c_lnk): Check return value of
	FS_PushFilePObject.
	(c_info): Only report during phase one.

Sun Sep 11 12:04:11 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (Symbol_CreateSymbolOut): Update local label error.

Sat Sep 10 10:51:37 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (inputEnvSub): When cross-compiled, substitute $ into _
	when initial environment variable retrieve didn't work.

Sun Aug  7 18:39:49 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* lexAcorn.c (lexAcornUnop, lexAcornBinop): Don't consume characters
	which weren't expected.
	* lex.c (lexGetPrim, lexGetBinop): Return : back to input stream if
	tokenizing failed.

Sun Aug  7 17:30:45 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* code.c (Code_EvalLowest): Don't call operator size for non-defined
	symbols.
	* eval.c (evalUnop): Op_size: Remove implementation for non-defined
	symbols.
	* regression/tests_pass/operator_questionmark.s: Add tests.
	* asm.c (DEBUG_ASM): More debug.
	* regression/tests_pass/load_literal4.s: Add.

Thu Aug  4 22:58:58 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (c_assert): Make it phase aware.
	* regression/tests_pass/assert.s: Added.
	* regression/tests_pass/if_else.s: Removed bogus 2nd parameter of
	ASSERT.
	* error.c (error): Don't call Input_ShowLine during phase 1.
	* local.c (Local_PrepareForPhase): Surpress compiler warning.
	* eval.c (evalBinop): Teach Op_eq about comparing ValueCode and
	ValueSymbol values.

Thu Aug  4 01:37:50 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* asm.c (ASM_DoPass, gASM_Phase): Add.
	(ASM_Assemble): Assemble source code twice.
	* asm.h (gASM_Phase): Add.
	* commands.c (DefineInt): Make it phase aware.
	(DefineReal): Likewise.
	* decode.c (decode): Likewise.
	* eval.c (evalUnop): Likewise.
	* symbol.c (Symbol_OutputForAOF): Support area mapping symbols.
	(Symbol_OutputForELF): Likewise.
	* m_cpuctrl.c (branch_shared): Likewise.
	(m_adr): Likewise.
	* help_cop.c (help_copAddr): Likewise.
	* error.c (errorCore): Likewise.
	(errorCoreLine): Likewise.
	* macros.c (c_macro): Likewise.
	* reloc.c (Reloc_QueueExprUpdate): Likewise.
	* get.c (getRhs): Likewise.
	* main.c (main): Likewise.
	* area.c (Area_EnsureExtraSize): Likewise.
	(areaInit): Remove.
	(Area_PrepareForPhase): Add.
	(Area_MarkStartAs): Add SYMBOL_DATUM for data area mappings.
	* area.h (Area_PrepareForPhase): Add.
	* lit.c (Lit_GetSizeInBytes, Lit_GetAlignment, Lit_CreateLiteralSymbol):
	Add.
	(Lit_RegisterInt,Lit_RegisterFloat,Lit_DumpPool): Fix memory
	corruption.  Make it phase aware.
	* value.c (valueEqual): Reevaluate Code and Symbol values before
	comparision.
	* m_cpumem.c (DestMem_RelocUpdater): Support relocation to another
	area than current one.  Fix relocation flags.
	(dstmem): Fix memory corruption.  Make it phase aware.
	* local.c (Local_PrepareForPhase): Add.
	* local.h (Local_PrepareForPhase): Add.
	* regression/tests_pass/record_basic.s: Enable tests which work now.
	* regression/tests_pass/operator_index.s: Likewise.
	* regression/tests_pass/adr.s: Account for missing ADRL to ADR
	optimisation.
	* regression/tests_pass/register_based_map.s: Likewise.
	* regression/tests_fail/ldr_from_expr_fail.s: Move to...
	* regression/tests_pass/ldr.s: ...here.  Disable the relocation
	part of the test.
	* regression/tests_pass/load_literal3.s: Add.
	* regression/tests_pass/load_literal.s: Update reference part.

Fri Jul 22 16:00:45 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (Symbol_PreDefReg): Use symbolGet instead of symbolAdd.
	(symbolAdd): Remove.
	(symbolGet): Drop NULL assignment.
	(Symbol_Define): New.
	* symbol.h (Symbol_Define): Add declaration.
	(symbolAdd): Remove declaration.
	* commands.c (Define): Renamed from c_define.  Use Symbol_Define.
	(c_equ, c_fn, c_rn, c_cn, c_cp): Use Define.
	* decode.c (decode): Use symbolGet instead of symbolAdd.
	* storate.c (c_alloc): Likewise.
	* asm.c (ASM_DefineLabel): Likewise.
	* variables.c (declare_var): Likewise.  Add AREA symbol clash test.
	* include.c (Include_Get): Fix const problem.
	* lit.h (struct LITPOOL): Move to...
	* lit.c (struct LITPOOL): ...here.
	(Lit_GetLitOffsetAsSymbol): Use snprintf instead of sprintf.
	(Lit_RegisterInt): Store trunced values as unsigned.
	(Lit_RegisterFloat): Test upfront on well known FPE constants.

Wed Jul 20 00:08:18 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* macros.c (Macro_Call): Duplicate default argument.
	(c_macro): Don't do argument substitution when skipping until MEND.

Sun Jul 10 19:21:24 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* area.c, area.h (areaGrow): Rename to Area_EnsureExtraSize and drop area
	parameter. Add test if there is anything to do so that AREA_NOSPACE is
	no longer needed.
	* put.c (Put_DataWithOffset, Put_FloatDataWithOffset,
	Put_InsWithOffset): Follow areaGrow/Area_EnsureExtraSize change.

Sun Jul 10 15:05:20 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* include.h (addInclude, getInclude): Rename to Include_Add, Include_Get.
	* include.c: Likewise.
	(Include_Add): Drop return value.
	(Include_Get): Add inc parameter.
	* commands.c (c_incbin): Follow Include_* API change.
	* main.c (main): Likewise.
	* eval.c (evalUnop): Likewise.
	* filestack.c (FS_PushFilePObject): Use Include_Get to open the
	command line specified assembler file.  This removes stdin support.
	* regression/Makefile: Add V variable.

Sun Jul 10 14:12:34 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (inputInit): Remove.
	* input.h: Likewise.
	* asm.c (ASM_Assemble): Call FS_PushFilePObject instead of inputInit.
	* include.c (incDirCurSize, incDirMaxSize): Make type unsigned.

Sun Jul 10 17:35:39 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (c_area): Relax the AREA attribute test on redefinition.
	* regression/tests_pass/area.s: Add.

Sun Jul 10 16:49:00 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* local.c (c_rout): When label is supplied, it should be defined as
	global label just like any others.
	* regression/tests_pass/local_label.s: Enhance ROUT test.

Sat Jun 25 17:57:13 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/rotator.s: Added.
	* get.c (getRhs): Support symbol as value type for rotator value.
	* m_cpuctrl.c (m_msr): Add fixme.
	* symbol.h: Comment update.
	* symbol.c (SymbolCompare): Remove comment.

Tue Jun 14 02:12:06 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (NeedToOutputSymbol): When we having a global keep, don't
	output the register symbols.
	(symbolFix,symbolStringOutput, symbolSymbolAOFOutput,
	symbolSymbolELFOutput): Refactored code into...
	(SymbolCompare, Symbol_CreateSymbolOut, Symbol_OutputStrings,
	Symbol_OutputForAOF, Symbol_OutputForELF, Symbol_FreeSymbolOut,
	SymbolOut_t): ...this. Now outputing local symbols first and order them
	alphabetically.
	(symFlag): Don't give error when no symbol can be read.
	(c_keep): Fix return value check of symFlag call.
	(c_import): Give error when no symbol can be read.
	* symbol.h (symbolFix,symbolStringOutput, symbolSymbolAOFOutput,
	symbolSymbolELFOutput): Remove.
	(SymbolCompare, Symbol_CreateSymbolOut, Symbol_OutputStrings,
	Symbol_OutputForAOF, Symbol_OutputForELF, Symbol_FreeSymbolOut,
	SymbolOut_t): Add.
	* output.c (outputAof, outputElf): Use new Symbol_* code.
	(outputElf): Add preprocessor test on ELF_EABI for EABI v5 output.
	* elf.h: Remove non-ARM bits.  Update ARM relocation list.
	* local.c (kIntLabelPrefix): Move to...
	* local.h: ...here.
	* lit.c (Lit_GetLitOffsetAsSymbol): Use kIntLabelPrefix.
	* input.c (Input_Rest): Add test on input_pos.

Mon Jun 13 15:02:52 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (symbolFix, symbolSymbolELFOutput): For ELF output, section
	names should not even be mentioned in the string table at all.
	* symbol.h (Symbol): Update comments.
	* area.h (AREA_ALIGN_MASK): Define.
	* area.c (c_area): Use AREA_ALIGN_MASK.
	* output.c (outputElf): Properly fill in info field of the symbol
	table section; Support non-4 AREA alignments.

Mon Jun 13 01:10:34 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (symbolFix): Return the number of symbol entries to include
	in output file (not the number of unique symbols); For ELF output,
	use empty section names as symbols.
	(symbolStringOutput): For ELF output, use empty section names as
	symbols; Add offset asserts.
	* symbol.h (Symbol): Update comments.
	* area.c (Area_MarkStartAs): Fix Mapping Symbol string length.
	* output.c (writeElfSH): Round offset calculation.
	(outputElf): Don't round the string table length.

Sun Jun 12 21:09:33 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/sev_wfe_wfi_yield.s,
	regression/tests_pass/misc.s, regression/tests_pass/mul_mla_mls.s,
	regression/tests_pass/swi.s, regression/tests_pass/ldm_stm_pop_push.s,
	regression/tests_pass/loadstore2.s, regression/tests_pass/copro.s,
	regression/tests_pass/dmb_dsb_isb.s,
	regression/tests_pass/asr_lsl_lsr_ror_rrx.s,
	regression/tests_pass/fpe_memory.s, regression/tests_pass/rfe_srs.s
	regression/tests_pass/arithmetic1.s, regression/tests_pass/dsp.s,
	regression/tests_pass/nop.s, regression/tests_pass/loadstore.s,
	regression/tests_pass/branch.s, regression/tests_pass/fpe.s,
	regression/tests_pass/cps.s, regression/tests_pass/fpe_immediate.s,
	regression/tests_pass/clrex_ldrex_strex.s,
	regression/tests_pass/pld_pldw_pli.s,
	regression/tests_pass/arithmetic2.s: Use DCI instead of DCD as
	reference for ARM instructions.
	* commands.c (c_dci): Do align with warning like we do when
	emitting unaligned instructions.
	* regression/tests_pass/dcb_dcw_dcd.s: Remove ALIGN, this is now done
	implicitely (with warning), use instructions as reference for DCI.
	* symbol.c (symbolFix, symbolStringOutput): Map mapping symbols names
	to their 2 character prefix.
	(symbolStringOutput): Add stringSizeNeeded parameter for consistency
	check.
	(symFlag): Add error when a mapping symbol explicitely gets created.
	* symbol.h (symbolStringOutput): Add stringSizeNeeded parameter.
	(c_exportas): Drop unused declaration.
	* decode.c (decode_table_t): Use bitfields & enums. Add result subfield.
	(decode): Follow decode_table_t change; Add call to Area_MarkStartAs;
	Add warning when code gets created in DATA area.
	* storage.c (c_alloc): Remove unnecessary test.
	* area.c (oArea_CurrentEntryType, Area_MarkStartAs,
	Area_IsMappingSymbol): Add.
	* area.h (Area_MarkStartAs, Area_IsMappingSymbol): Add.
	* output.c (outputAof): Follow symbolStringOutput change.
	(outputElf): Follow symbolStringOutput change; Drop prefix dot of a
	section name when determining relocation section name.
	* lit.c (Lit_DumpPool): Add call Area_MarkStartAs.

Sun Jun  5 15:53:04 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* input.c, input.h (Input_Rest): Renamed from inputRest.
	* commands.c, decode.c, whileif.c, lexAcorn.c : Follow inputRest rename.
	* input.c, input.h (skiprest): Remove.
	* commands (c_idfn): Don't call skiprest.
	* error.c, macros.c, frame.c, whileif.c: Call Input_Rest instead of
	skiprest.
	* filestack.c (FS_PushFilePObject): Don't call skiprest.
	* output.c (outputElf): Fix writing empty sections.
	* elf.h (EF_ARM_CURRENT): Change to EABI version 5.
	* decode.c (oDecodeTable): Fix alphabetical order.

Sun Jun  5 02:33:29 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* frame.c (c_function, c_endfunc, c_frame): Add.  Dummy implementations
	for FUNCTION/PROC/ENDFUNC/ENDP/FRAME.
	* frame.h: Add.
	* decode.c (oDecodeTable): Add FUNCTION, PROC, ENDFUNC, ENDP and FRAME.

Sat Jun  4 18:29:35 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpumem.c (dstreglist): Add test on LDM instructions and
	multi-register POP instructions with writeback and base register in
	register list.

Wed May 25 20:02:48 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/macro.s: Added testcase from Christopher Martin
	for his previous variable.c (c_lcl) fix.
	* commands.c (c_dc*): Add comment.
	* output.c: Always include errno.h.
	* input.c: Remove needless include of errno.h.

Wed May 25 23:48:44 CST 2011  Christopher Martin  <belles@internode.on.net>

	* reloc.c (relocELFOutput): Removed an excess armword() operation that
	would inappropriately undo the byte-sex conversion of a preceding
	armword() operation.
	* reloc.c (relocELFOutput): Corrected misuse of 'offset' and 'used'
	fields in Symbol struct which was causing relocations in ELF object
	files to have messed up symbol table entries.
	* symbol.h: Edited comments to better reflect how 'offset' and 'used'
	fields in Symbol struct are used for relating symbols to symbol table
	entries.
	* variables.c (c_lcl): Ensure that a copied (sub)string is terminated.
	Bug found when comments in macros messed up assembly.

Wed Apr 13 01:45:58 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/misc.s: Add MSR/MRS APSR tests.
	* m_cpuctrl.c (getpsr): Support APSR; Give legacy warning on non
	csxf format usage; Give warning on immediate value usage to update
	status and/or extension fields.

Fri Apr  1 01:50:52 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/variable_substitution.s: Add check on empty
	string variable expansion.
	* input.c (inputVarSub): Add return value indicating additional
	environment expansion or not.
	(inputArgSub): Follow inputVarSub API change.

Wed Mar 30 01:38:58 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/environment_variable.s: Improve test.
	* regression/tests_pass/environment_variable2.s: Likewise.

Wed Mar 30 01:27:33 CEST 2011  John-Mark Bell  <jmb@netsurf-browser.org>
			       John Tytgat  <John.Tytgat@aaug.net>

	* input.c (inputArgSub): Re-expand variable contents.
	* regression/tests_pass/environment_variable.s: Ensure we do not do
	environment variable expansion inside strings.
	* regression/tests_pass/environment_variable2.s: Make sure we do
	environment variable expansion after string variable expansion.

Mon Mar 28 01:58:51 CEST 2011  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.h (Symbol::areaDef): Add.
	* symbol.c (symbolNew): Initialise Symbol::areaDef.
	(symbolFix): Add asserts. Area symbols are always STB_LOCAL. Non
	area symbols should have as st_shndx the section number where they
	are defined.
	* output.c (countRels): Removed.
	(writeElfSH): Fix area/section counting.  Add relocation section
	counting. Prefix relocation section names with ".rel." instead of ".rel".
	* reloc.c (relocELFOutput): Don't call armword() twice for the same
	word.

Sat Mar 26 12:44:29 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/smc.s: Add.
	* m_cpumem.c (getRhs): Follow API change.
	(m_swp): Add warning about deprecation.
	* m_cpu.c (dstlhsrhs, dstrhs, lhsrhs): Add bool return value.
	* get.c (getShift): Invert first parameter.
	(getRhs): Likewise.

Sat Mar 12 16:25:23 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): Add SMC/SMI.
	* m_cpuctrl.c, m_cpuctrl.h (m_smc): Add.

Thu Mar 10 00:45:15 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): Add DBG.
	* m_cpuctrl.c, m_cpuctrl.h (m_dbg): Add.
	* regression/tests_pass/dbg.s: Add.

Mon Feb 21 02:28:15 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/fpe_memory.s: Split of fp.s only containing
	the FPE memory related mnemonics. Use DCI instead of DCD.
	* regression/tests_pass/operator_index.s: Enabled disabled test lines.
	* regression/tests_pass/ldr_from_addr.s: Likewise.
	* regression/tests_pass/fpe.s: Renamed from fp.s.
	* regression/tests_pass/fpa_immediate.s: Renamed from fpa_immediate.s
	and addd -autocast test option.
	* regression/tests_pass/fpe_literal.s: Added.
	* commands.c (DefineInt_PrivData_t, DefineReal_PrivData_t): Move to
	commands.h.
	* m_fpu.c, m_fpu.h: Rename to m_fpe.c, m_fpe.h.
	* help_cop.c (DestMem_RelocUpdaterCoPro): Added.
	(help_copAddr): Support late definitions and literals.
	* help_cop.h (CP_GET_NUMBER): Added.
	* m_cpumem.c (dstmem): Support late immediate definitions. Refactoring.
	Remove several unnecessary calls to skipblanks.
	* option.h (PRECISION_MEM_MASK): Added.
	* value.h (Value_Float): Added.
	* m_fpe.c (M_*): Move to m_fpe.h.
	(CheckFPUsageIsAllowedAndGiveHWWarning): Give warning only in
	pedantic mode.
	(fpuImm): Rename to FPE_ConvertImmediate, pre-add immediate bit and
	export it.
	(getFloatRhs): Only integer support when autocast is specified.
	(m_lfd, m_stf): Add deprecated warning for packed option.
	* m_cpu.c: Remove unnecessary skipblanks calls.
	* fix.c, fix.h (fixCopOffset): Rename to Fix_CopOffset and add file
	parameter.
	* lit.c (Lit_RegisterInt): Add asserts and remove preliminary float
	support.
	(Lit_RegisterFloat): Added.
	(Lit_DumpPool): Add float support and fix Reloc_QueueExprUpdate()
	calls concerning passing on private data.
	* lit.h (Lit_RegisterFloat): Added.
	* Makefile.am: Follow m_fpu.c to m_fpe.c rename.

Sat Feb 19 16:42:01 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/fpa_immediate.s: Add ABS test.
	* code.c (codeEvalLow): One -fussy is enough.
	* fix.c (fixImm8s4): Likewise.
	* m_fpu.c (Fix_ImmFloat): Avoid unnecessary abort situation. One
	-fussy is enough.
	* main.c (asasm_help): Don't mention more than one -fussy.

Wed Feb 16 00:56:28 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/fpa_immediate.s: New.
	* regression/tests_pass/fp.s: Avoid using F0/R0.
	* help_cop.c, help_cop.h (help_copAddr): Add stack parameter.
	* m_cop.c (coprocessor): Also test on coprocessor 2.
	* option.c (getPrec): Rename to GetFPAPrecision.
	(getRound): Rename to GetFPARounding.
	(optionCondOptPrecRound): Remove.
	* option.h (optionCondOptPrecRound): Remove.
	(PRECISION_MASK): Add.
	* m_copmem.c (dstmem): Add literal parameter.
	* m_fpu.c (CheckFPUsageIsAllowedAndGiveHWWarning): Add.
	(m_fdv,m_fml,m_frd): Warn when used in non-single precision.
	(m_pol,m_pow,m_rpw,m_acs,m_asn,m_atn,m_cos,m_exp,m_lgn,m_log,m_sin,
	m_tan): Warn these will never be hardware accelerated.
	(dstmemx): Add bool return value and return true when mnemonic is not
	recognized.

Sat Feb 12 16:02:33 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* m_fpu.c (CheckFPUsageIsAllowed): Move all soft-float option testing
	to here.

Wed Feb  2 01:46:54 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/apcs.s: Moved to...
	* regression/tests_pass/environment_variable.s: ...here.
	* regression/hdr: Moved to...
	* regression/tests_pass/include/hdr: ...here.
	* regression/Makefile: Add support for RUNOPT.
	* regression/tests_pass/apcs-3-32bit.s,
	regression/tests_pass/apcs-3-26bit.s,
	regression/tests_pass/apcs-none.s,
	regression/tests_pass/apcs-3.s,
	regression/tests_pass/apcs-3-reentrant.s,
	regression/tests_pass/apcs-3-reentrant-noswstackcheck.s,
	regression/tests_pass/include/predef_reg_test.s
	: New.
	* symbol.c: Fix conditional defined of CPU symbol registers based
	on -APCS option.
	* main.c, main.h: Support -APCS option, remove -apcs26, -apcs32,
	-apcsfpv2 and -apcsfpv3 options.
	* lexAcorn.c, area.c, option.c: Follow -APCS option support.

Thu Jan 27 02:35:32 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* m_fpumem.c, m_fpumem.h: Merge content to...
	* m_fpu.c, m_fpu.h: ...here.
	* Makefile.am: Remove m_fpumem.c.
	* decode.h: Remove include m_fpumem.h.

Thu Jan 27 02:13:13 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): Add NOFP.
	* m_fpu.c, m_fpu.h (c_nofp, CheckFPUsageIsAllowed): New.
	Move M_* from m_fpu.h to m_fpu.c.
	* fix.c, fix.h (fixImmFloat): Move to m_fpu.c, m_fpu.h.

Tue Jan 25 01:38:58 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* storage.c (c_alloc): Don't give an error on negative or zero field
	sizes.
	* regression/tests_pass/record_basic.s: Enhance test for negative and
	0 field sizes.
	* commands.c (c_incbin): Fix BIN/INCBIN implementation.
	* regression/tests_pass/bin.s, regression/tests_pass/include/def.txt:
	Add BIN/INCBIN tests.
	* symbol.c (NeedToOutputSymbol): Centralizes the decision which symbols
	need to be included in the output.
	(SYMBOL_OUTPUT, SYMBOL_ELF_OUTPUT, SYMBOL_AOF_OUTPUT): Remove.
	(findAreaIndex): Remove.
	(symbolSymbolELFOutput): Use the upfront calculated section number
	instead of calling findAreaIndex.
	* output.c (outputInit): Try to recognize RISC OS filename syntax.
	(writeElfSH): Proper upfront calculation of section number for all our
	areas.
	* main.c, main.h (ProgName): Remove.

Fri Jan 21 03:20:48 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (Area_AlignTo): Fix zeroing of memory. Fix updating area end.

Sun Jan 16 23:30:44 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* depend.c (dependWrite): Write one long dependency line instead of
	using continuation character.  Looks like this is more amu friendly.
	* filestack.c (ReportFSStack): Added (for debug purposes).
	(FS_PushFilePObject): Initialise PObject::type.
	* input.c (inputVarSub): When variable is not known, report this as
	a warning, not an error.  Vertical bars in string should also disable
	variable substitution.
	(inputSymbol): Never process further than a semi-column.
	* regression/tests_pass/macro_args.s: Enhance test.
	* regression/tests_pass/variable_substitution.s: Enhance test.

Sun Jan 16 15:23:32 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c (branch_shared): Drop support for " and #.
	* whileif.c (while_skip): Make use of inputNextLineNoSubst instead of
	inputNextLine.
	* input.c (inputVarSub): Don't corrupt input_pos, only temporarily
	change it.
	* main.c (main): Accept and ignore -stamp/-quit options because of
	legacy reasons.

Mon Jan 10 00:09:05 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/dcb_dcw_dcd.s: Enhance test case with tests for
	'=' and one character strings.
	* regression/tests_pass/operator_shift.s: Enhance test case for one
	character strings.
	* regression/tests_pass/operator_unary.s: Likewise.
	* commands.c (DefineInt_RelocUpdater): Support for non-1 byte data size
	combined with string size 1.
	* input.c (inputNextLineNoSubst,inputNextLine,Input_ShowLine,
	Input_GetColumn): Invalidate input_pos when building up the contents of
	input_buf so that Input_ShowLine doesn't show half built up content.
	* eval.c (evalBinop): Case Op_asr, Op_sr, Op_sl, Op_ror, Op_rol:
	Support one character strings.
	(Eval_NegValue): Likewise.
	(evalUnop): Case Op_neg, likewise.
	* main.c & elsewhere: Adjust (c) year dates.

Sun Jan  2 22:06:06 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/dcb_dcw_dcd.s: Enhanced test case with '&'.
	* commands.c (*, EQU, RN, FN, CN, CP): Better behaviour when symbol
	was already defined (when value is the same, don't complain).
	* decode.c (oDecodeTable): Fix inconsistency for '&'.
	(decode): Always pass on symbol for .sym callback.
	* input.c (Input_ShowLine): Use stderr instead of stdout.

Sun Jan  2 20:21:18 CET 2011  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/macro.s: New.
	* regression/tests_pass/while.s: New.
	* error.c (MAXERROR): Reduced to 30.
	* whileif.c, whileif.h: Merge if/while tracking together.
	* filestack.h (PObject): Follow if/while changes.
	* filestack.c (FS_PushFilePObject): Likewise.
	(File_GetLine): Parsing long lines didn't correctly increment line
	number.
	* variables.c (c_lcl, c_gbl, c_set): Properly test end of keyword.
	(c_lcl): Restore local variable only once.
	* macros.c: Follow if/while changes.
	(c_mend): Simplify implementation.
	(c_mexit): Call FS_PopPObject instead of FS_PopMacroPObject (which was
	not meant to be called by anything else than FS_PopPObject).

Thu Dec 30 02:32:50 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/dsp.s: Move PLD tests to...
	* regression/tests_pass/pld_pldw_pli.s: ...here.
	* regression/tests_pass/nop.s: New.
	* regression/tests_pass/branch.s: Move BX/BLX tests to separate
	section and add BXJ test.
	* regression/tests_pass/arithmetic2.s: Move MUL/MLA tests to...
	* regression/tests_pass/mul_mla_mls.s: ...here and add MLS test.
	* regression/tests_pass/ldm_stm_pop_push.s: Add test on UAL syntax
	and condition codes.
	* regression/Makefile: Change asasm option -t into -cpu.
	* decode.c (oDecodeTable): Reinstate BIN; add BXJ, MLS, NOP; change PLD
	into PL; add suggestions for improvement.
	* m_cpuctrl.c: Use Target_NeedAtLeastArch.
	(m_bxj): New.
	* help_cop.c (help_copInt): Move to...
	* m_cop.c (CopInt): ...here. Use Target_NeedAtLeastArch.
	* m_cpumem.c: Use Target_NeedAtLeastArch.
	* option.c (GetCCode): Renamed from getCond and cleanup.
	(IsEndOfKeyword): Make use of Input_IsEndOfKeyword.
	(optionCondS): Support UAL syntax.
	(optionCondLdmStm): Support case where stack mode is not specified.
	* m_copmem.c (m_ldc2, m_stc2): Simplify. Use Target_NeedAtLeastArch.
	* m_cpu.c (m_nop): Support ARMv6K/ARMv6T2/ARMv7 NOP flavour.
	(onlyregs): Support MLS, check on PC being used.
	Use Target_NeedAtLeastArch.
	* targetcpu.c, targetcpu.h: Reimplemented to support -cpu fully.
	* input.c, input.h (notinput): Remove.
	(Input_MatchString, Input_IsEndOfKeyword): Added.
	* lexAcorn.c: Use Input_MatchString instead of notinput.
	(lexAcornPrim): Support {ARCHITECTURE}, {CPU}.
	* main.c: Drop -target option, add -cpu.

Tue Dec 28 17:30:18 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/rfe_srs.s: New.
	* decode.c (oDecodeTable): Add RFE and SRS.
	* m_cpuctrl.c (m_cps): Limit mode to 5 bits.
	* m_cpuctrl.c, m_cpuctrl.h (IsValidARMMode, ARM_MODE_*): Move to...
	* option.c, option.h: ...here.
	(GetStackMode): Renamed from getDir.
	(Option_CondRfeSrs): Added.
	* m_cpumem.c, m_cpumem.h (m_rfe, m_srs): New.
	* lex.c (lexGetBinop): Don't eat lonely exclamation marks.

Tue Dec 28 14:02:11 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/ldrex_strex.s: Renamed to...
	* regression/tests_pass/clrex_ldrex_strex.s: ...this. Add CLREX test.
	* decode.c (oDecodeTable): Add CLREX.
	* m_cpumem.c, m_cpumem.h (m_clrex): New.

Tue Dec 28 02:32:35 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/sev_wfe_wfi_yield.s: New.
	* regression/tests_pass/ldrex_strex.s: New.
	* regression/tests_pass/misc.s: Move SWI test to...
	* regression/tests_pass/swi.s: ...here. Update test for SVC and '#'
	usage.
	* decode.c (oDecodeTable): Add LDREX, STREX, SEV, SVC, WFE, WFI, YIELD.
	* m_cpuctrl.c (m_swi): Fix # usage.
	(m_sev, m_wfe, m_wfi, m_yield): Added.
	* m_cpumem.c (LdrStrEx, m_ldrex, m_strex): Added.

Mon Dec 27 22:11:02 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/symbols.s: New.
	* area.h (AREA_DEFAULT_ALIGNMENT): Renamed from AREA_INIT.
	* area.c (Area_Ensure): Follow AREA_INIT rename to AREA_DEFAULT_ALIGNMENT.
	(c_area): Area alignment is from 2 up to 31 (incl).
	* input.c (Input_Symbol): Support double bar symbol name bracketing.

Mon Dec 27 21:35:46 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/asr_lsl_lsr_ror_rrx.s: New.
	* decode.c (oDecodeTable): Add ASR, LSL, LSR, ROR and RRX.
	(decode): Issue error instead of abort when there are unused input
	characters left.
	* get.c (Get_CPURegNoError): Renamed from getCpuRegNoError and make
	sure if it fails, it doesn't consume any input characters.
	* m_cpuctrl.c (m_blx): Follow Get_CPURegNoError changes.
	(m_cps): Use Input_MatchKeyword.
	* m_cpumem.c (dstreglist): Add skip blanks for POP/PUSH case.
	(BL_eIllegal): Remove.
	* option.c (IsEndOfKeyword): Renamed from isOK.
	(Option_SCond): New.
	* option.h (Option_SCond): New.
	* m_cpu.c, m_cpu.h (UALShift, m_asr, m_lsl, m_lsr, m_ror, m_rrx): New.
	* fix.h (RRX, LSL, ASL, LSR, ASR, ROR, NO_SHIFT, SHIFT_OP, SHIFT_REG,
	SHIFT_IMM): Move to...
	* get.h: ...here.
	* fix.c (Fix_ShiftImm): Renamed from fixShiftImm and added filename
	parameter.

Mon Dec 27 17:17:04 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/dmb_dsb_isb.s: New.
	* decode.c (oDecodeTable): Add DMB, ISB and DSB.
	* m_cpumem.c (Barrier_eType, GetBarrierType, m_dmb, m_isb, m_dsb): New.
	* whileif.c (if_skip): Add extra token for better error reporting.
	Use Input_MatchKeyword.
	(c_if, c_else, c_elif): Follow if_skip API change.
	(c_while): Use Input_MatchKeyword.
	* input.c, input.h (Input_MatchKeyword, Input_MatchKeywordLower): New.

Mon Dec 27 03:52:29 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (c_define): Fix SYMBOL_ABSOLUTE.
	* symbol.c (symbolAdd): Use assert.
	(symbolSymbolAOFOutput,symbolSymbolELFOutput): Constify.
	(symbolPrint): Enalbe SYMBOL_ABSOLUTE assert.
	* decode.c (DTABLE_CALLBACK_NOLEX): New.
	(oDecodeTable): Call c_allow with Lex instead of Symbol, check for
	non-LexId for c_else, c_elif, c_endif, c_gbl, c_if, c_lcl, c_macro,
	c_record, c_mexit, c_wend, c_while.
	(decode): Support DTABLE_CALLBACK_NOLEX.  In case of
	DTABLE_CALLBACK_SYMBOL, don't call ASM_DefineLabel for defining the
	symbol.
	* storage (c_alloc): Deal with Lex instead of Symbol parameter.
	* area.c (c_area): Give warning instead of error when 2nd instance
	of same area differs in attributes.
	* variables.c, variables.h (c_gbl, c_lbl): Drop Lex parameter.
	* macros.c, macros.h (c_macro, c_mexit): Likewise.
	* whileif.c, whileif.h (c_if, c_else, c_elif, c_endif, c_while, c_wend):
	Likewise.
	* get.c (getTypeInternal): Drop SYMBOL_ABSOLUTE check.
	* asm.c (ASM_DefineLabel): Proper support for SYMBOL_ABSOLUTE.
	* lit.c (Lit_DumpPool): Likewise.

Sun Dec 26 23:40:44 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/cps.s: New.
	* decode.c (oDecodeTable): Add CPS.
	* m_cpuctrl.c, m_cpuctrl.h (ARM_MODE_*, m_cps, IsValidMode): New.

Sun Dec 26 20:16:33 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* macros.c (Macro_Call): Don't pass the comment as part of the last macro
	argument.
	* regression/tests_pass/macro_args.s: Update test.
	* input.h (TOLOWER): Remove.

Sun Dec 26 19:00:22 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/if_else.s: Add ELIF tests.
	* symbol.c (symbolPrint): Make more robust.
	* decode.c (oDecodeTable): Add ARM, ELIF, THUMB and THUMBX.
	* m_cpu.c, m_cpu.h (c_thumb, c_thumbx): New.
	* whileif.c (if_skip): Add ELIF support.
	* whileif.c, whileif.h (c_elif): New.
	* input.c (Input_Symbol): Allow symbols to start with an underscore
	character.

Sun Dec 26 16:47:19 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/require8_preserve8.s: New.
	* decode.c (oDecodeTable): Add PRESERVE8/REQUIRE8.
	* m_cpumem.c (dstreglist): Add check for when PRESERVE8 is declared.
	* filestack.c (File_GetLine): Fix no-newline-before-EOF case.
	* area.c, area.h (c_preserve8, c_require8, gArea_Require8,
	gArea_Preserve8, gArea_Preserve8Guessed): New.
	* lexAcorn.c (lexAcornPrim): Drop {MODULE}.
	* get.h (GET_BASE_MULTI): New.
	* main.c (option_rma_module, -module): Remove.
	(main): Support double dash option prefix, add implemented -apcs,
	more foolproof -From/-o/-To parsing.
	* main.h (option_rma_module): Remove.

Sun Dec 26 02:54:13 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/loadstore3.s: Rename to...
	* regression/tests_pass/ldm_stm_pop_push.s: ...this.  Add PUSH/POP
	tests.
	* decode.c (oDecodeTable): Add PUSH/POP.
	* m_cpumem.c (dstreglist): Add isPushPop parameter, drop #<num reg>
	feature.
	(m_ldm, m_stm): Follow optionCondDirLdm/optionCondDirStm merge.
	(m_pop,m_push): New.
	* m_cpumem.h (m_pop, m_push): New.
	* option.c, option.h (optionCondLdmStm): Merged from optionCondDirLdm
	and optionCondDirStm.

Tue Dec 21 22:04:53 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* put.c (Put_Ins): Renamed from putIns.  Reimplement this using
	Put_InsWithOffset.
	* put.h (Put_Ins): Renamed from putIns.
	* m_cpuctrl.c, m_cop.c, m_cpumem.c, m_copmem.c, m_cpu.c, m_fpumem.c,
	m_fpu.c: Follow putIns to Put_Ins rename.
	* area.c, area.h (Area_AlignTo): Add offset parameter.
	* commands.c, lit.c, put.c: Follow new Area_AlignTo API.

Tue Dec 21 06:00:34 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* filestack.c (File_GetLine): Support continuation lines.
	* regression/tests_pass/long_line.s: Added.

Tue Dec 21 05:32:48 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): Add ORG.
	* m_cpuctrl.c (ADR_RelocUpdaterCore, ADR_RelocUpdater, m_adr): Add
	absolute area support.
	* code.c (codePosition): Likewise.
	* asm.c (ASM_DefineLabel): Likewise.
	* area.c: Likewise.
	(c_org): Added.
	* area.h (Area): Add baseAddr member.
	* help_cpu.c,help_cpu.h (Help_SplitByImm8s4): Write result in an
	array, instead of via individual argument pointers.
	* output.c (outputAof): Support non-zero base area address.
	* aoffile.h (AofEntry): Renamed Unused member into BaseAddr.
	* commands.c (c_assert): Small cleanup.
	* put.c, put.h (PutWord): Remove, use Put_InsWithOffset instead.
	* macros.c (Macro_GetLine): Support empty line during macro replay.
	(c_macro): Fix problem whe macro starts with one or more empty lines.
	* regression/tests_pass/builtinvar_pc.s: Add test case when {PC} is
	used in an absolute area.
	* regression/tests_pass/adr.s: Add test case when ADR/ADRL are used
	in an absolute area.
	* regression/tests_pass/branch.s: Add test case when branches are used
	in absolute area.
	* regression/tests_pass/ldr_from_addr.s: Add test case when LDR is used
	in absolute area.
	* regression/tests_pass/load_literal.s: Add disabled test case for
	LDR literals in absolute area.
	* regression/tests_pass/variable_substitution.s: More variable & macro
	argument substitution cases.

Mon Dec 20 20:30:15 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (c_end): Use ErrorError instead of ErrorAbort.
	(c_incbin): Renamed from c_bin.
	(symFlag,c_globl,c_strong,c_keep,c_import): Move to...
	* symbol.c, symbol.h: ...here.  Support for keep all symbols. Support
	EXPORT arguments.
	(c_extern): Added.
	(symbolPrint): Revive relative symbols, more work to do.
	* decode (oDecodeTable): Add EXTERN, renamed GLOBL to GLOBAL, rename
	BIN to INCBIN.
	* m_cpumem.c (m_pld): Use Input_Match instead of inputGet.
	* variables.c (declare_var): Mark as ABSOLUTE variables.
	* input.c (inputNextLineCore): Beter reporting of missing END.

Mon Dec 20 15:53:22 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/dcb_dcw_dcd.s: Added DCI, DCWU and DCDU tests.
	* regression/tests_pass/dcfs_dcfd.s: Added DCFSU and DCFDU tests.
	* commands.c (c_head): Fix signature output.
	(DefineInt_RelocUpdater, DefineInt, c_dcw, c_dcd, DefineReal_RelocUpdater,
	DefineReal, c_dcfs, c_dcfd): Add support DCWU, DCDU, DCFSU, DCFDU.
	(c_dci): Added.
	(c_ltorg): Move to...
	* lit.c: ...here.
	* commands.h (c_dci): Add prototype.
	(c_ltorg): Move prototype to...
	* lit.h: ...here.
	* put.c (Put_AlignDataWithOffset): Add.
	(putData): Rename to Put_Data and implement using Put_DataWithOffset.
	(Put_FloatDataWithOffset): Add alignBefore parameter.
	* decode.c (oDecodeTable): Add SPACE, DCI, DCWU, DCDU, DCFSU and DCFDU.
	* main.c, main.h (option_align): Remove noalign option.

Sun Dec 19 03:19:05 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* lit.c (Lit_RegisterInt): Do upfront trunctation + report when this
	makes a difference.
	(Lit_GetLitOffsetAsSymbol): Renamed from Lit_GetOffsetAsSymbol.
	(Lit_DumpPool): Support ValueSymbol/ValueCode as literals.
	* regression/tests_pass/load_literal.s: Enhance with PC relative
	loading of literals.
	* regression/tests_fail/load_constant.s: Move to...
	* regression/tests_pass/load_literal2.s: ...here as it is now working.
	* tests_fail/register_based_map_fail.s: Removed, was already working
	and covered by tests_pass/ldr_from_addr.s.
	* commands.c (DefineInt_RelocUpdater): Remove FIXMEs.
	* area.c (Area_AlignTo): Report unaligned status as warning.
	* reloc.c (relocFix): Fix number of relocations calculation.
	(relocELFOutput): Fix typo.

Sat Dec 18 18:58:17 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/int.s: Add string constant tests.
	* help_lex.c, help_lex.h: Remove.
	* commands.c, variables.c, Makefile.am: Follow the removal of
	help_lex.c and help_lex.h.
	* input.c, input.h (Input_GetString): Added.
	(inputSymbol): Simplify as there are less usecases for this routine.
	* macros.c (Macro_Call, c_macro): Use Input_GetString for double
	quoted strings instead of inputSymbol.
	* lex.c (Lex_Char2Int): Added and use it...
	(lexGetPrim): ...here.  Use Input_GetString for double quoted string
	lexing.
	* symbol.c (symbolSymbolAOFOutput, symbolSymbolELFOutput): Restrict
	the output of symbol to ValueInt and ValueBool.

Sat Dec 18 16:24:41 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* lex.c: Reindent.

Sat Dec 18 14:42:42 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (c_area): A BASED area does not need to be marked as READONLY.
	* aoffile.h (HOW_TYPE2, HOW_TYPE3): Remove.

Sat Dec 18 03:49:09 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_fail/label_space.s: Merge into...
	* regression/tests_pass/operator_questionmark.s: ...here with a couple
	of fixes.
	* regression/tests_fail/local_label2.s: Added prototype test but is not
	yet fully fleshed out.
	* put.c, put.h (Put_FloatDataWithOffset): Renamed from putDataFloat
	and add offset parameter.
	* commands.c (DefineReal_RelocUpdater): Take offset into account.
	Follow Put_FloatDataWithOffset rename.

Fri Dec 17 18:30:42 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_index.s: Use once {VAR} instead of @.
	* regression/tests_pass/local_label.s: Added.
	* symbol.c (symbolFix): Fix test on unresolved local (forward) label.
	* local.c, local.h: Cleanup.  Function & global variable rename.
	* commands.c (symFlag): Follow localTest to Local_IsLocalLabel rename.
	* expr.c (prim): Invalid Lex object should abort the expression
	evaluations as otherwise asserts will go off later.
	* output.c (countAreas): Merge into outputElf
	* lex.c, lex.h (Lex_ReadLocalLabel, Lex_GetDefiningLabel): Add noCheck
	parameter which needs to be set when skipping if branch or while body.
	Clean up the local label code, more work is needed.
	* whileif.c (if_skip,while_skip): Follow API change of
	Lex_GetDefiningLabel.
	* asm.c (ASM_Assemble): Likewise.
	* lexAcorn.c (lexAcornUnop): Fix tokenizing of :FATTR:, :FEXEC:,
	:FLOAD: and :FSIZE:.

Thu Dec 16 17:35:59 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* local.c: Throw out original AS local variable support, we're only
	going to support the ObjAsm one.
	* local.h, input.c, main.c, lex.c: Follow.
	* decode.c (oDecodeTable): Remove LOCAL.

Thu Dec 16 04:20:50 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* code.c, code.h (Code_HasUndefSymbols): Made static.
	(codeValue): Merge Code_AddValueCode code into it.
	* decode.c (oDecodeTable): Add MAP/FIELD.
	(decode): Support ValueCode for StorageV values.
	* m_cpumem.c (DestMem_RelocUpdater): Don't assert on ValueInt result
	when ValueCode has length non-1, this is just an error.
	(dstmem): Follow codeValue API change.
	* storage.c: Support ValueCode as storage base.
	* regression/tests_pass/record_basic.s: Add MAP/FIELD tests, add test
	for MAP	argument being a label in the current AREA.
	* reloc.c (relocFix): Follow codeValue API change.
	* lit.c (Lit_DumpPool): Likewise.

Wed Dec 15 18:18:26 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/string.s: Enhance test with string escape
	characters.
	* regression/tests_pass/int.s: Added.
	* symbol.c (symbolFix): Always emit the implicit symbol reference
	warning.
	* error.c (errorCoreLine): Don't print linenumber 0.
	* macro.c (FS_PopMacroPObject): Reset pointer to NULL after freeing.
	(FS_PushMacroPObject): Copy all macro arguments instead of only the
	first one.
	(Macro_Call,Macro_Find): Renamed from macroCall/macroFind.
	(Macro_Call): Don't error on not using the macro label; Support default
	argument values; More reliable argument excess check.
	(c_macro): Support default argument values.
	* macro.h (Macro): Add defArgs array.
	(Macro_Call,Macro_Find): Renamed from macroCall/macroFind.
	(macroGetLine): Remove prototype.
	* decode.c: Follow the macroFind/macroCall rename.
	* whileif.c (if_skip): Support macro labels.
	* regression/tests_pass/macro_args.s: Added.

Wed Dec 15 13:47:41 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): Add CODE16/CODE32.
	* m_cpu.c (c_code16, c_code32): Added.
	* m_cpu.h: Likewise.

Wed Dec 15 13:09:16 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* error.c (errorCore): Change "<stdin>" to "{standard input}" like the
	GNU tools are using.
	* filestack.c (FS_GetCurFileName): Likewise.

Tue Dec 14 02:08:35 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* tests_pass/ldr_from_addr.s: Enhance test.
	* tests_pass/dcb_dcw_dcd.s: Added.
	* tests_pass/storage_map.s: Added.

Sat Dec 11 14:08:06 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (DefineInt_RelocUpdater, DefineReal_RelocUpdater): Add
	check on operator Op_add being used. Add check on Reloc_Create return
	value.
	* m_cpuctrl.c (Branch_RelocUpdater, ADR_RelocUpdater): Likewise.
	* m_cpumem.c (DestMem_RelocUpdater): Likewise.
	* code.c (Code_EvalLowest): Allow ValueSymbol for Op_neg.
	* reloc.c (Reloc_Create): Add check on negative symbols.  Simplify
	code.
	(relocAOFOutput, relocELFOutput): Remove FIXMEs.

Thu Dec  9 01:24:47 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* put.c (putDataFloat): Write out double FPA value correctly on non-ARM
	hosts.
	* lex.c (lexfloat): Remove.
	(lexGetPrim): Use strtod for enhanced precision float reading. Support
	floating point number starting with a period.
	* regression/tests_pass/dcfs_dcfd.s: Added.

Tue Dec  7 23:57:07 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	Start of v2.00 : too many changes to list them in detail, but:
	- Rewrote relocation code, removal of ValueLateLabel.
	- Significantly reworked the 'Code' evaluation.
	- Previously known broken test cases are now working.

Tue Nov 16 23:25:13 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_relational.s: Fix the boolean tests.

Tue Nov  9 12:41:48 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c (c_fn, c_rn, c_cn): Improve error message.
	(symFlag): Change return type to bool.  Add comment.
	(c_globl,c_strong,c_keep): Tail call symFlag.
	(c_import): Fix comment.  Use Input_Match instead of inputGet.
	* decode.c (decode): Deal with empty lines.
	* asm.c (assemble): Let decode deal with empty lines.
	* macros.c (c_macro): Report file and line number of previous
	defined macro with same name.
	* output.c (writeEntry, outputAof): Cleanup.
	* m_cpu.c (lhsrhs): Cleanup.
	* aoffile.h: Make use of uint32_t instead of unsigned int.
	* whileif.c (if_skip): Early skip empty lines.
	* input.c (Input_Symbol): Unbracketed symbol name can not start
	with digit. Return NULL consistently when we can't read a symbol.
	* get.c (getTypeInternal): Renamed from getCpuRegInternal and
	generalise it with type.
	(getCpuReg, getCpuRegNoError, getFpuReg, getCopReg, getCopNum):
	Make use of getTypeInternal.
	* lex.c (lexGetId): Tune error message.

Tue Nov  9 05:01:07 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (oDecodeTable): Add IF/ELSE/ENDIF mnemonics.
	(decode): Fix END/ENDIF selection.
	* whileif.c (if_skip): Support IF/ELSE/ENDIF mnemonics.
	* regression/tests_pass/if_else.s: Added.

Sun Nov  7 16:26:09 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (symbolInit): Remove the need of a terminator.
	(symbolAdd): Don't reinitialise existing symbol.
	(symbolPrintAll): Start each symbol output at beginning of line.

Sat Nov  6 23:34:12 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (decode): Use Input_Symbol for fetching macro name.
	(decode_finalcheck): Added.
	* decode.h (decode_finalcheck): Added.
	* variables.c (var_inputSymbol): Removed.
	(c_gbl, c_lcl): Use Input_Symbol instead of var_inputSymbol.
	* macros.c (macroFind): Swap parameter order.
	(c_macro): Use Input_Symbol.
	* macros.h (macroFind): Swap parameter order.
	* whileif.c (ignore_else): Removed.
	(if_skip): Add closeOnly parameter, make it more robust against wrong
	input, use Lex_GetDefiningLabel() to determing label definition.
	(c_if): Cosmetic change.
	(c_else): Ignore mismatched |, follow if_skip changes.
	(c_endif): Ignore mismatched ], follow if_skip changes.
	(while_skip): Use Lex_GetDefiningLabel() to determine label definition,
	support comment char after WHILE and WEND.
	(FS_PopIfWhile): Don't use errorAbort as this results in an infinite
	loop here.
	* input.c (inputRewind): Removed.
	(Input_Symbol): Added.  Should replace inputSymbol() over time.
	* input.h (inputRewind): Removed.
	(Input_Symbol): Added.
	* asm.c (assemble): Use Lex_GetDefiningLabel().
	* lex.c (lexGetIdNoError): Use Input_Symbol.
	(Lex_GetDefiningLabel): Renamed from lexGetLocal.
	(lexGetPrim): Simply the symbol case, use Input_Symbol.
	* lex.h (Lex_GetDefiningLabel): Renamed from lexGetLocal.
	(lexGetIdMunge): Removed.
	* regression/tests_pass/if_else.s: Added.

Sat Nov  6 20:37:32 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* output.c (outputAof): Fix zero sized AREA case.

Wed Nov  3 21:56:52 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* area.c (c_entry): Fix test ENTRY being used without AREA specified.
	* value.c, help_eval.c, main.c, symbol.c, symbol.h, commands.c,
	storage.c: Minor tweeks.

Tue Nov  2 22:39:16 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* input.c (Input_Match): Added and use this instead of
	"if (inputLook() == ...) + inputSkip() + optional skipblanks()".
	* input.h (Input_Match): Declare.
	* asm.c, fix.c, get.c, help_cop.c, lex.c, macros.c, m_cop.c, m_copmem.c,
	m_cpu.c, m_cpuctrl.c, m_cpumem.c, m_fpu.c, m_fpumem.c, option.c,
	storage.c, variables.c, whileif.c: Use Input_Match.
	* commands.c, output.c, reloc.h: Minor change.
	* symbol.c: Remove FIXME.
	(symbolPrint): Fix build.
	* code.c (codePrint): Print ??? for undetermined case.
	* lex.h (lexGetLabel): Remove.

Tue Nov  2 14:28:09 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (decode): Converted into a table lookup and push any
	additional mnemonic parsing (like condition codes) to the mnemonic
	implementation itself.
	* area.c, area.h, commands.c, commands.h, decode.h, help_lex.c,
	help_lex.h, input.c, input.h, local.c, local.h, macros.c, macros.h
	m_cop.c, m_copmem.c, m_cpu.c, m_cpuctrl.c, m_cpu.h, m_cpumem.c,
	m_fpu.c, m_fpu.h, m_fpumem.c, option.c, storage.c, storage.h,
	variables.c, variables.h, whileif.c, whileif.h: Follow above changes.
	* m_cop.h, m_copmem.h, m_cpuctrl.h, m_cpumem.h, m_fpumem.h: Added.
	* mnemonics.h: Removed.

Mon Nov  1 15:24:53 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* storage.c (c_alloc): Simplify.
	* lex.h: Fix comment.
	* symbol.c (symbolAdd): Add description.

Mon Nov  1 14:20:09 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_index.s: Add (commented out)
	unsupported case.
	* regression/tests_fail/label_space.s: Extended.  There are now only
	two unsupported cases left.
	* commands.c (c_ltorg, c_head): Count on areaCurrentSymbol being
	valid.
	(c_dcfe, c_dcfp): Removed.
	* commands.h (c_dcfe,c_dcfp): Removed.
	* symbol.c (symbolNew): Support Symbol::codeSize.
	(symbolInit): Make use of lexTempLabel.
	(symbolGet): Assume given Lex object is always a LexId.
	(symbolRemove): Likewise.
	(symbolFix,symbolStringOutput,symbolSymbolAOFOutput,findAreaIndex,
	symbolSymbolELFOutput): Skip implicit area.
	* put.c (putAlign,putData,putDataFloat,putIns): Count on
	areaCurrentSymbol being valid.
	* symbol.h (SYMBOL_BASED): Removed.
	(Symbol::codeSize): Added.
	* code.c (codePosition): Cound on area parameter always being defined.
	(codeCopy,codeEqual): Use size_t i.s.o. int.
	* code.h (codeCopy,codeEqual): Use size_t i.s.o. int.
	* decode.c (C_FINISH_FLOW,C_FINISH_VAR): Reset symbol label to NULL.
	(decode): Assign Symbol::codeSize of all parsed labels. Drop DCFE,
	DCFP (non)support.  Added some missing 'default' cases. Implemented
	'if'/'else'/'endif' using C_FINISH_FLOW macro.
	* local.c (c_local): Assume label parameter can never be NULL.
	(localTest): Change return type into bool.
	* local.h (localTest): Change return type into bool.
	* storage.c (storageV): Default value is a zero non-reg (instead of
	giving an error).
	* area.c: Introduce concept of default area.  When this results in
	a non-zero size afterwards, this is an error.
	(Area_Ensure): Added.
	(Area_IsImplicit): Added.
	(areaNew): Add Symbol parameter which is used to name the area.
	(c_align,c_reserve): Count on areaCurrentSymbol being valid.
	(c_area): Bail out when there is no area name defined.
	* area.h (Area_IsImplicit): Added.
	* value.c (valueLateToCode): Constify and rework code slightly.
	* value.h (valueLateToCode): Consitfy.
	* output.c (countAreas,outputAof,countRels,outputElf): Skip implicit
	area.
	* whileif.c (c_if): Add Lex label parameter and check on it.
	(c_else,c_endif): Change label presence check into a warning (like
	in all other cases).
	(c_while, c_wend): Add Lex label check.
	* whileif.h (c_if): Add Lex label parameter.
	* input.c (inputVarSub): Add warning when there was no $ expansion
	done.
	* reloc.c (relocOp, relocAdd): Count on areaCurrentSymbol being valid.
	* lit.c (litInt): Likewise.
	* lexAcorn.c (lexAcornUpop): Fix for :DEF:.
	* asm.c (asm_label): Count on areaCurrentSymbol being valid. Drop
	SYMBOL_BASED (non ?) support.
	* lex.c (lexHashStr): Make local.
	(lexGetIdInternal): Make this the lexGetIdNoError implementation and
	let lexGetId give an error when we didn't get a LexId.
	(lexGetPrim): Add support for '?' for labels already defined (no
	late label support).
	* lex.h (lexHashStr): Remove.

Mon Oct 25 01:04:28 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/string.s: Added.

Sun Oct 24 18:16:54 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* tests_fail/load_constant.s: Add case of missing constant load
	optimisation.

Sun Oct 24 17:04:18 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/variable_substitution.s: Added.
	* regression/Makefile: Drop asasm's -objasm option.
	* commands.c (defineint, c_head): Follow the lexGetCharFromString
	removal.
	(c_get,c_lnk,c_bin): Follow the inputExpoand removal.
	* decode.c (decode): Revert the end newline removal in error message
	as this not necessary when we make sure our predefines don't have
	newlines.  Follow constify of Input_GetMark() return value.
	* m_cpuctrl.c: Follow constify of Input_GetMark() return value.
	* m_fpumem.c: Likewise.
	* macros.c (c_mend): Check for upcase MEND.
	(c_macro): Follow the inputExpand removal and call inputNextLineNoSubst
	instead of inputNextLine.  Follow constify of Input_GetMark() and
	inputSymbol return value.
	* whileif.c (ifskip): Follow the inputExpand removal and call
	inputNextLineNoSubst instead of inputNextLine.
	(while_skip): Check for upcase WHILE/WEND.
	(c_while): Follow constify of Input_GetMark() and inputSymbol return
	value.
	* lexAcorn.c (lexAcornPrim): Follow constify of Input_GetMark return
	value.
	* input.c (inputExpand): Remove.
	(input_pos,inputRest,Input_RollBackToMark): Constify.
	(inputNextLineNoSubst, inputNextLineCore): Refactored out of
	inputNextLine.
	(inputEnvSub,inputVarSub,inputArgSub): Simplified.
	(inputSymbol): Follow the option_objasm removal.
	* input.h (inputExpand): Remove.
	(inputNextLineNoSubst): Add.
	(Input_GetMark,Input_RollBackToMark): Constify.
	* help_lex.c (lexGetCharFromString): Removed.
	(lexChar2Int): Follow the lexGetCharFromString removal.
	* asm.c (assemble): Follow inputExpand removal.  Simplify.
	* main.c, main.h (option_objasm): Remove.

Sun Oct 24 00:15:15 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* decode.c (decode): Get rid of macro variable.

Sat Oct 23 23:53:10 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c: Fix compiler warning.
	* value.c: Likewise.
	* lex.c: Likewise.
	* code.c: Likewise.
	(codeEvalLow): Removed assert.  This can happen.
	* decode.c (decode): Only process uppercase mnemonics.  Reformat. Don't
	output the ending newline in abort messages.
	(ignoreInput): Removed.
	* option.c (getCond,getDir,getPrec,getRound,optionCondS,optionCondSP,
	optionCondB,optionCondBT,optionCondL,optionLinkCond,optionExceptionCond,
	optionAdrL): Upcase input only.
	* lexAcorn.c: Likewise.
	* main.c,main.h: Drop -upper option.
	* error.c: Don't output linenumber nor filename when we're still at
	line number 0.
	* area.c: Follow the inputComment to Input_IsEolOrCommentStart rename.
	* macros.c: Likewise.
	* m_cpu.c (m_nop): Likewise.
	* asm.c: Likewise.
	* variables.c: Likewise.
	(c_set): Don't call inputRest on error as this is already going to
	happen later on.
	* regression/tests_pass/operator_shift.s: Fixed case typo.

Sat Oct 23 16:08:30 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (symbolNew): Swap parameters.
	(symbolGet): Add assert on case which is not believed to happen.
	* area.c (c_area): Change type of rel_specified and data_specified to
	bool.
	* variables.c (declare_var): Return Symbol ptr (or NULL in case of
	failure).
	(var_define): Make use of it.
	* lex.c (lexTempLabel): Make use of C99 initializer. Swap parameters.
	* lex.h (Lex): Make Lex::Id.hash unsigned int.
	(lexTempLable): Follow swap parameters.

Fri Oct 22 01:34:52 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.h (Symbol): Change type of len from int to size_t.
	* value.h (Value): Likewise for Value::String::len, Value::Code::len.
	* lex.h (Lex): Likewise for Lex::String::len, Lex::Id::len.
	* commands.c, symbol.c, code.c, decode.c, variables.c, macros.c,
	whileif.c, input.c, help_lex.c, input.h, reloc.c, eval.c, lex.c: Deal
	with the fallout.
	* help_lex.c (lexChar2Int): Avoid compiler warning.
	* lex.c (lexHashStr): Work with unsigned types.

Fri Oct 22 00:17:59 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* expr.c (exprBuildAndEval): Added.
	* expr.h (exprBuildAndEval): Added.
	* commands.c, m_cpuctrl.c, help_cop.c, m_cpumem.c, storage.c,
	area.c, variables.c, m_fpumem.c, m_fpu.c, whileif.c, get.c: Replace
	exprBuild() and exprEval() by exprBuildAndEval() where possible.

Thu Oct 21 22:38:11 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* code.h (Code): Change union into struct and have only one Tag entry.
	* code.c, value.c, value.h, reloc.c: Follow Code change.

Thu Oct 21 22:19:35 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* lex.h (Lex): Change union into struct and have only one Tag entry.
	* commands.c, symbol.c, local.c, area.c, variables.c, expr.c, macros.c,
	input.c, lexAcorn.c, get.c, lex.c: Follow Lex change.

Thu Oct 21 22:02:28 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* value.h (Value): Change union into struct and have only one Tag
	entry.
	* commands.c, symbol.c, put.c, code.c, m_cpuctrl.c, help_cop.c,
	m_cpumem.c, storage.c, area.c, variables.c, value.c, output.c,
	m_fpumem.c, m_fpu.c, whileif.c, input.c, help_eval.c, reloc.c, get.c,
	asm.c, eval.c, lit.c: Follow Value change.

Thu Oct 21 02:01:34 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/record_basic.s: Enabled the disabled sub-tests
	as they are now supported and working.
	* regression/tests_fail/record_basic_fail.s: Removed.
	* regression/Makefile (EXTENSION): Define as assembler boolean.
	* regression/tests_pass/operator_string.s (EXTENSION): Test on it for
	features which objasm does not know about.
	* regression/tests_pass/operator_shift.s: Likewise.
	* regression/tests_pass/operator_relational.s: Likewise.  Add :LEOR:
	test.
	* regression/tests_pass/operator_index.s: Add :BASE: tests.
	* regression/tests_pass/operator_boolean.s: Added.
	* regression/tests_pass/operator_addition_logical.s: Likewise.
	* regression/tests_pass/operator_unary.s: Likewise.
	* symbol.c (symbolPrintAll): Added.
	(symbolPrint): Made used by symbolPrintAll.
	* symbol.h (symbolPrintAll, symbolPrint): Add/tune prototype.
	* code.h (CODE_SIZECODE, CODE_SIZESTACK, CODE_SIZELATE): Move to...
	* code.c: ...here.
	(codePrint): Added, and other DEBUG code as well.
	(Sp): Removed.
	(codeStorage): Make difference between register based record and a non
	register based one.
	* decode.c: Whitespace changes.
	(decode): Constify parameter.
	* decode.h (decode): Constify parameter.
	* local.c (c_rout, c_local): Constify parameter.
	* local.h (c_rout, c_local): Likewise.
	* whileif.c (c_else, c_endif, c_while, c_wend): Likewise.
	* whileif.h (c_else, c_endif, c_while, c_wend): Likewise.
	* input.c (inputGiveRestLine): Disable for non-debug builds.
	* input.h (inputGiveRestLien): Likewise.
	* storage.c (storageValue, c_record): Make difference between
	(non)register based record.
	(c_record): drop expecting ValueAddr as result.
	* variables.c (assign_var): Make warning on redefinition a pedantic
	one.
	(c_set): Simplify.
	* lexAcorn.c (lexAcornUnop): Add :BASE: support.
	* eval.c (evalBinop): Fix Op_add, Op_sub, Op_and, Op_or, Op_xor,
	Op_land, Op_lor, Op_lnot, Op_not, Op_neg, Op_index, Op_len. Add Op_base.
	* lex.c (OperatorAsStr):
	* value.h (ValueType): Drop and change its use in Value by ValueTag.
	* commands.c: Follow the ValueType removal in Value.
	* symbol.c: Likewise.
	* code.c: Likewise.
	* m_cpuctrl.c: Likewise.
	* help_cop.c: Likewise.
	* m_cpumem.c: Likewise.
	* storage.c: Likewise.
	* area.c: Likewise.
	* variables.c: Likewise.
	* value.c: Likewise.
	* whileif.c: Likewise.
	* input.c: Likewise.
	* help_eval.c: Likewise.
	* reloc.c: Likewise.
	* get.c: Likewise.
	* asm.c: Likewise.
	* eval.c: Likewise.
	Several minor cleanups.

Sun Oct 17 22:35:00 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c (symbolFree): Added.
	(symbolRemove): Added.
	(symbolFix): Don't check on sym->value.Tag.v, this doesn't make sense.
	Information to determine a symbol needs to be dumped in output, needs
	to be derived from other bits.
	* symbol.h (symbolRemove): Declare.
	* code.c (exprNotConst): Removed.
	* code.h (exprNotConst): Likewise.
	* local.c: Fix indentation.
	* storage.c (storageD): Removed, test on storageV.Tag.t instead.
	* storage.h: Fix whitespace.
	* variables.c (c_lcl): Follow the varPos changes. When symbol is
	defined for the first time, don't bother updating varPos::symbol.
	Fix local symbol indication for declare_var() when symbol is already
	known as local symbol.
	(var_restoreLocals): Restore of local symbol which was defined for the
	first time, was wrong. We really need to remove its entry from the
	symbolTable instead of invalidating it. Follow the varPos changes.
	Constify argument.
	* variables.h (varPos): Move symbol name to end of structure so we have
	to do one allocation less.
	(var_restoreLocals): Constify argument.
	* value.c (valueFree): Case ValueString, don't bother checking for
	Tag.v.  Export it.
	* value.h (valueFree): Add prototype.
	* whileif.c (c_while): No longer check on constant expression.  We need
	to find something better for this.
	* lexAcorn.c (lexAcornUnop): Reorder :DEF: case.
	* regression/tests_pass/variables.s: Update test case for the case we're
	fixing here.

Sun Oct 17 17:24:54 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c (m_swi): Improve SWI name processing.
	* help_cop.c (help_copAddr): Replace abort() by error(ErrorAbort, ...).
	* variables.c (assign_var): Likewise.  Improve empty string case.
	* value.c (valueCopy): Fix case of copying strings containing NUL char.

Sun Oct 17 14:58:42 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* riscos_c.c, main.c, main.h (option_dde): Remove @/Prefix$Dir hack.
	* main.c: Improve -ver/-version output.
	Support "asasm <asmfile> <objfile>" syntax. Better protection against
	missing input or output filename.

Sun Oct 17 05:40:33 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_multiplication.s: Added.  Tests
	multiplication, division and modulo operators.
	* eval.c (evalBinop): Fix and cleanup Op_mul, Op_div and Op_mod.

Sun Oct 17 04:52:15 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_shift.s: Added.  Tests the shift
	operators.
	* eval.c (evalBinop): Fix and cleanup Op_rol, Op_ror, Op_sl, Op_sr,
	Op_asr operator code.

Sun Oct 17 03:08:27 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_relational.s: Added.  Tests the
	relational operators.
	* eval.c (COMPARE): Cleaned up, simplified and report proper operand
	type mistake if so. Compare integers unsigned.
	(ememcmp): Simplified.
	(evalBinop): Cleanup relational operators.
	* lex.c (lexGetBinop): Support /=.

Sun Oct 17 01:33:47 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_pass/operator_string.s: Added.  Tests :LEFT:,
	:RIGHT:, :CC:, :LEN:, :STR:.
	* regression/tests_pass/operator_index.s: Added.  Tests :INDEX:.
	* regression/tests_pass/info.s: Changed into a pure test on ! and INFO.
	* regression/Makefile: Update comment & output.
	* commands.c (c_info): Better error behaviour.  When arithmetic
	expression evaluates to 0, output string expression via stdout as is,
	not as warning.
	* error.c (errorCore): When not in parse context, add extra newline
	to stderr output.
	* value.h (ValueString): Update comment that NUL termination of string
	is not garanteed.
	* reloc.c: Fix identation.
	* eval.c (evalBinop): Fix/update/clean Op_concat, Op_left, Op_right
	case.
	(evalUnop): Fix/update/clean Op_str, Op_chr.

Sat Oct 16 19:25:14 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression: Removed the need of creating config.h by using asasm's
	-PD option.
	* regression/tests_pass/apcs.s, regression/hdr/APCS-32/Common: Made
	test stronger by assuring the GET command succeeded.
	* input.c (inputNextLine): Simplified code a little bit. Integer
	variable setting happens with SETA, not SETI.
	* main.c: Improve objasm compatibility by supporting -PreDefine as an
	alias to -PD.
	* variables.c (var_type): Integer variable type is 'A', not 'I'.

Sat Oct 16 18:06:47 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* regression/tests_fail/register_based_map_fail.s,
	regression/tests_fail/ldr_from_expr_fail.s: Add missing END.
	* regression/tests_fail/label_space.s: Added (shows missing
	support for label space operator).
	* global.h: Add missing config.h include.
	* output.h, Makefile.am: Add subversion revision number we
	used for build.

Sat Oct 16 17:08:12 CEST 2010  John Tytgat  <John.Tytgat@aaug.net>

	* Rename BOOL/TRUE/FALSE to ISO C99's bool/true/false.
	* Rename WORD/FLOAT into ARMWord/ARMFloat.

Tue Feb 2  18:29:10 2010  Lee Noar  <leenoar@sky.com>

	Fix build errors:

	* filestack.c: #include header that defines riscosify related
	bits.
	* os.h: Make sure declaration of CanonicalisePath matches
	definition.

Wed Jan 27 00:31:34 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* filestack.c/filestack.h: Merged the macro, external linked,
	'if'/'while' code all together so that nested usage works and
	results also in much cleaner code (too many changes to mention in
	detail).
	* depend.c: Proper dependency generation (all input files are
	taken into account).
	* symbol.h(SYMBOL_MACRO_LOCAL): Set when symbol is only defined
	as macro local variable.
	* m_cpuctrl.c(fixBranchT,fixAdrl,fixInt): Drop inputLineNo parameter.
	* help_cop.c(fixCopOffset): Likewise.
	* decode.h(returnvalue): Removed.
	(decode): Made return parameter void.
	* error.c(source,errorInit): Remove.
	(TB): Rename to DoThrowback.
	* error.c/error.h(errorAbort,errorAbortLine): Created to report the
	final error and use this where applicable.
	(ErrorSerious): Removed.
	(error): Drop c parameter.
	(errorLine): Drop c parameter.
	(errorOutOfMem): Drop fn parameter.
	* riscos_c.c(CanonicalisePath): Constify return pointer.
	* regression/Makefile: Added comments.
	* regression/tests_pass/variables.s: Added.

Sun Jan 17 15:23:22 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* error.c(doline): Fix RISC OS native build.  Bug #188.

Sun Jan 10 04:41:35 CET 2010  John Tytgat  <John.Tytgat@aaug.net>

	* configure.ac: Version 1.48
	* decode.c(decode): Avoid variable being written but not read
	afterwards.  Follow constification of macro functions.
	* error.c(doline): Likewise.
	* rname.c(riscos_to_unix): Likewise.
	* whileif.c(if_skip,while_skip): Likewise.
	* variables.c(declare_var,c_lcl): Warn when same variable get
	defined but when type changes, give an error.
	* value.c,value.h(valueTagAsString): Added.
	* value.h(ValueSingle,ValueDouble,ValueExtended,ValuePacked): Removed.
	* macros.c,macros.h(macroCurrent,macroFind,macroCall,Macro::next,
	MacroStack::macro): Constify.
	* output.c(writeElfSH): Drop return value.
	* asm.c(asm_label): Use NULL iso 0.
	* lex.c(lexReadLocal): Likewise.

Tue Oct  6 02:22:15 CEST 2009  John Tytgat  <John.Tytgat@aaug.net>

	* storate.c(c_alloc): Revert previous change as it introduces a
	regression in the register_based_maps.s test.
	* configure.ac: Revert back to 1.47.
	* regression/tests_pass/record_basic.s: Uncomment part that now no
	longer works.
	* regression/tests_pass/record_basic.s,
	regression/tests_fail/record_basic_fail.s: Update reference.

Tue Sep 29 00:21:05 CEST 2009  Christopher Martin  <belles@internode.on.net>

	* storage.c(c_alloc): Enable expression evaluation that includes
	symbols defined in record layouts.
	* regression/tests_pass/record_basic.s,
	regression/tests_fail/record_basic_fail.s: Added test case.
	* configure.ac: Bumped version to 1.48.

Wed May 27 20:28:55 PDT 2009  Peter Naulls  <peter@chocky.org>

	* input.c, input.h, main.c: Approximate the -PD flag to objasm
	to allow the SETx syntax to be passed on the command line.
	This is largely a hack for the benefit of ROOL source.

Mon May 11 23:17:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* input.c(inputVarSub): Permit verbatim '$' in string literals.

Mon Feb 23 15:40:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* eval.c(evalUnop): Stub implementations of :fload: and :fexec:. These
	aren't particularly useful, but are better than bailing out.
	* lexAcorn.c(lexAcornUnop): Fix decode of :fexec:.
	(lexAcornPrim): Add {ASASM}, so existing code can work around our
	deficiencies (specifically ?A and ASSERT using late labels in the code
	I'm currently assembling). Comments about this welcome.

Mon Feb 23 13:37:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* m_cpumem.c: Revert r3747 -- LDR|STR Rd,[Rm,#xxx] may have xxx as a
	register-relative expression if xxx is a field in a map.
	* regression/{Makefile,ldr_from_addr.s}: Test data for the above.

Mon Feb 23 12:15:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* decode.c, commands.[ch]: Add support for the INFO directive and the
	! shorthand.
	* regression/{info.s,Makefile}: Test case for the above.

Mon Feb 23 11:35:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* m_cpuctrl.c(m_adr): Permit use of ADR(L) to obtain address of fields
	in register-based maps.
	* regression/register_based_map.s: Expand test data to cover the
	above.

Mon Feb 23 04:54:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* include.c(getInclude): Consult the original filespec to determine
	whether to perform '.' -> '/' conversion on Unix.
	* filestack.c: Duplicate filename strings when pushing onto the stack.
	Free the current input name when popping off the stack. This avoids
	double freeing of data when an included file includes multiple files
	itself.

Mon Feb 23 03:51:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* m_cpumem.c: Partial support for LDR/STR to fields in register-based
	maps. Currently, the map must be defined before it is used.

Mon Feb 23 01:19:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* m_cpumem.c: LDR|STR Rd,[Rm,#xxx] has no business expecting "xxx"
	to be a register-relative expression.

Sun Feb 22 18:47:47 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* filestack.c: Added GPL license header.
	* filestack.h: Likewise.

Sun Feb 22 13:21:55 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* decode.c: ENTRY must be all caps, treat as macro otherwise.

Mon Jan 26 01:46:49 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c(c_get,c_lnk,c_idfn): Fix memory leaks.
	* riscos_c.c: Define __riscosify_control.
	* input.c(inputInit): Don't use the internal UnixLib
	__set_riscosify_control and __get_riscosify_control routines; Use
	static 16K input buffer instead of malloced one.
	(inputFinish): Support setting new input stream.
	(inputComment): Change return type from int into bool.
	* input.h: Likewise.
	* include.c(openInclude): Drop mode parameter; Don't use the internal
	UnixLib __set_riscosify_control and __get_riscosify_control routines.
	(getInclude): Simplify.
	* symbol.h(symbolSymbolELFOutput): Disable prototype for non ELF
	output build.
	* reloc.h(relocELFOutput): Likewise.
	* decode.c(decode): Support INCLUDE keyword (synonym for GET).
	* os.h: Define CanonicalisePath as strdup() instead of
	OSCanonicalisePath.
	* error.c(LF): Remove, wasn't used.
	* output.c(idfn_text): Is now a pointer to malloced block holding a
	user defined identification string. Use DEFAULT_IDFN is there is none
	defined. Use GET_IDFN to get the identification string under all
	circumstances.
	* output.h(DEFAULT_IDFN): Define.
	* main.c(as_help): Use DEFAULT_IDFN.
	+ minor source cleanups.

Sun Jan 25 23:08:47 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* lex.h(lexAcornBinop,lexAcornUnop,lexAcornPrim): Move too...
	* lexAcorn.h: ...here and change return value into void; new file.
	* lexAcorn.c(lexAcornBinop,lexAcornUnop,lexAcornPrim): Change return
	value into void.
	(lexAcornPrim): Support {ENDIAN}
	* regression/{builtinvar_endian.s,Makefile}: Add test for {ENDIAN}
	support.
	* lex.c,lexAcorn.c: Minor source cleanup.

Sat Jan 24 14:33:32 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* riscos_c.c(switonum): Return -1 on error.
	(ThrowbackSendError): Rename error into errstr avoiding a compiler
	warning.
	* help_cop.c,m_cpumem.c,lit.c: Pass Value parameter by const reference,
	not by copy.
	* put.c,code.c,code.h,error.c,error.h,area.c,value.c,area.h,value.h,
	input.c,reloc.c,reloc.h,asm.c,main.c,lit.c,lex.c,lit.h,lex.h: Minor
	source cleanups.

Thu Jan 22 03:34:31 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* fix.c(fixInt): Upper limit for 1 or 2 byte sized words was one off.

Tue Jan 13 03:42:37 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* output.c: Previous fix wasn't correct.
	* code.h(codeFixReloc): Remove prototype, this wasn't defined.
	* value.c: Minor reidentation.

Mon Jan 12 21:20:52 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* output.c: Define OS_File etc SWI numbers for native RISC OS build
	and using UnixLib.

Mon Jan 12 01:58:02 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* regression/Makefile: Output OK when all tests passed succesfully.
	* regression/branch.s: Output local label 'label' otherwise ELF output
	differs.
	* symbol.c(SYMBOL_ELF_OUTPUT): Symplify and make it more bulletproof.
	* Makefile.am: Add comment.

Mon Jan 12 01:09:31 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* regression/Makefile: Remake all references and redo all tests when
	Makefile changes; A failed test should be redone when retrying.

Sun Jan 11 22:48:00 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* m_cpuctrl.c,expr.c,help_eval.c: Minor source cleanup.
	* reloc.c(relocWrite): R_ARM_PC24 ELF reloc needs to happen for a
	"B + PC - 8" instruction, while in AOF this needs to happen for a
	"B 0" one.

Sun Jan 11 21:35:31 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.h: Have SYMBOL_CPUREG, SYMBOL_FPUREG, SYMBOL_COPREG and
	SYMBOL_COPNUM defined as values not individual bits. Define
	SYMBOL_DECLARED as a new bit and remove Symbol::declared.
	* commands.c(c_define,symFlag), symbol.c(symbolNew,symbolInit,
	symbolPrint),area.c(c_area): Follow previous changes.
	* symbol.c(symbolPrint): Skip the internally defined register and
	coprocessor number symbols.
	* code.c: Add comments.
	* reloc.c(relocShiftImm,relocImm8s4,relocImmFloat,relocBranch,
	relocBranchT,relocSwi,relocCpuOffset,relocCopOffset,relocAdr,relocAdrl,
	relocMask,relocInt,relocFloat,relocAdd),value.c(valueFree): Pass Value
	parameter as reference, not by copy.
	* reloc.h,commands.c(defineint,definereal),m_cpuctrl.c(m_branch,
	m_blx,m_swi,m_adr),help_cop.c(help_copAddr),m_cpumem.c(dstmem,
	dstreglist),value.c(valueEqual),m_fpu.c(getFloatRhs),reloc.c(relocNew),
	get.c(getShift,getRhs): Follow previous change.
	* output.c(countAreas): Get rid of parameter.
	(outputAof,outputElf): Follow previous change.
	* symbol.c(symbolFix,symbolStringOutput): Implicitly imported symbol
	warning was wrongly given for some symbols in ELF output mode.

Sun Jan 11 18:32:47 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* docs/{AIF-1993,ALF-1989,ALF-1993,AOF-1989,AOF-2002,APCS,AIF-1989,
	ASDTF}: Added.

Sun Jan 11 18:21:17 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c(symbolSymbolELFOutput): Output local symbols in ELF mode.
	(symbolPrint): Added for debug purposes.
	* symbol.h: Added comments and symbolPrint prototype.

Sun Jan 11 18:18:31 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* variables.c(var_inputSymbol): Make return type const char ptr.
	* value.c(valuePrint), help_lex.c(lexChar2Int): Minor source
	cleanup.

Wed Jan  7 02:44:53 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c,riscos_c.c,symbol.c,put.c,code.c,decode.c,error.c,local.c,
	m_cop.c,storage.c,option.c,area.c,output.c,m_cpu.c,m_fpumem.c,m_fpu.c,
	input.c,help_lex.c,lexAcorn.c,main.c,fix.c,lex.c,main.h,lex.h:
	Prefixed option verbose,pedantic,fussy,throwback,dde,autocast,
	align,gas_backend,local,objasm,uc,apcs_32bit,apcs_fpv3,apcs_softfloat,
	rma_module with "option_".

Tue Jan  6 22:09:45 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile.am: Go for C99 and more warnings enabled.
	* commands.c,symbol.c,decode.c,error.c,local.c,area.c,rname.c,input.c,
	get.c,include.c,eval.c,lex.c,include.h: Lots of small cleanups.

Tue Jan  6 21:50:41 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* main.c(main): Change default output format back to ELF (was wrongly
	AOF since r3694 / Sun Jan  4 15:46:16 CET 2009).

Mon Jan  5 02:17:02 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c(symbolFix): Let it return the offset in the symbol strings
	array without the AOF 4 byte length included (as the ELF output only
	needs one byte extra)
	(symbolStringSize): Remove, no longer needed.
	* symbol.h: Updated comments, removed symbolStringSize prototype.
	* output.c(outputAlf,outputElf): Follow above changes.

Sun Jan  4 21:36:15 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c(c_define): Remove return parameter, is the same as its
	2nd one.

Sun Jan  4 21:00:58 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c,symbol.h(symbolAdd,symbolGet): Pass Lex parameter by (const)
	pointer, not by value.
	* commands.c,area.c,variables.c,expr.c,get.c,asm.c,asm.h: Follow
	change.

Sun Jan  4 20:04:39 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* commands.c,symbol.c,put.c,m_cpuctrl.c,help_cop.c,m_cpumem.c,area.c,
	area.h,expr.c,output.c,reloc.c,asm.c,lit.c,lex.c: Rename
	areaCurrent/areaEntry/areaHead to
	areaCurrentSymbol/areaEntrySymbol/areaHeadSymbol.

Sun Jan  4 17:21:39 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* global.h,area.c,area.h,fix.c: Small code cleanup.

Sun Jan  4 17:14:00 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c,code.c,m_cpuctrl.c,m_cpumem.c,get.c: Put some extra brackets
	around '&' tests where it improves readability.

Sun Jan  4 15:46:16 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* symbol.c,code.c,symbol.h,code.h,decode.c,variables.c,value.c
	value.h,output.c,m_fpumem.c,m_fpu.c,targetcpu.c,main.c,main.h:
	Small code cleanups; have option_aof available instead of
	option_elf and drop the latter completely.

Sun Jan  4 15:31:53 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* reloc.c,reloc.h,output: Small code cleanup.

Sun Jan  4 03:26:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* m_cpuctrl.c: Permit ValueAddr as SWI value.

Sun Jan  4 03:16:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* input.c: Invalidate asmfile in inputFinish. This allows multiple
	calls to inputFinish to occur (may happen if we longjmp to the abort
	handler after inputFinish is called in normal execution).

Sun Jan  4 03:02:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* decode.c: Treat SET[^ALS] as illegal.

Sun Jan  4 03:58:08 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* configure.ac: Invoke AC_C_BIGENDIAN so we have WORDS_BIGENDIAN
	defined when necessary.

Sun Jan  4 03:37:05 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* output.c(outputElf): Allow switch between softfloat vs hardfloat
	ELF output.

Sun Jan  4 02:24:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* storage.c: Permit use of ValueAddr in record base calculation.
	For example:
			^	0
			#	1
		foo	#	1
			^	foo + 4
		bar	#	1
	should result in "bar" having a value of 5.
	* input.c: Pedantic whitespace removal.

Sun Jan  4 02:36:02 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* riscos_c.c: Use _kernel_swi instead of __os_swi.
	* os.h, error.c, input.c: Minor source cleanup.
	* output.c: Remaining as -> asasm renaming; write ELF filetyped files
	in ELF output mode.
	* rname.c: include rname.h instead of having double prototypes.
	* main.c,main.h: make option ELF available to other files.

Sat Jan  3 19:53:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* input.c: Don't treat "<>" as an environment variable substitution.

Sat Jan  3 19:47:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* input.c: Prevent runaway execution when $foo is not substituted in
	string literals.

Sat Jan  3 18:52:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* eval.c: Allow :INDEX: to be used in storage declarations

Sat Jan  3 19:24:38 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* version.h: Removed as the version info comes from config.h.
	* main.c,output.c: Remove include of version.h.

Sat Jan  3 18:14:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* symbol.c,symbol.h,get.c,main.c,lex.c,lex.h: Predefine register names
	properly, so that "foo RN R10" works correctly. Remove special case
	predefinitions from get.c, as the symbol system will handle these.

Sat Jan  3 03:13:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* include.c: Use unixified filename when searching include paths and
	cross compiling.

Sat Jan  3 02:22:00 UTC 2009  John-Mark Bell  <jmb@netsurf-browser.org>

	* input.c: Implement environment variable substitution in objasm mode.
	* include.c: Remove <APCS> substitution -- define APCS as an
	environment variable, instead.
	* ChangeLog: Update my email address.

Sat Jan  3 03:02:40 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* regression/Makefile: follow objasm -> asasm name change.

Sat Jan  3 01:08:33 CET 2009  John Tytgat  <John.Tytgat@aaug.net>

	* configure.ac,Makefile.am: Instead of having 'as' known as 'objasm'
	with all possible confusion, rename it to 'asasm'.
	* *.c,*.h: Fixed several wrongly encoded instances of "Niklas Röjemo"
	by using UTF-8 now.
	* README: Added.

2009-01-02 03:33  John-Mark Bell  <jmb@netsurf-browser.org>

	* input.c: Fix runaway execution and segfault when encountering
	uses of undefined variables.
	Also, more comments and rather more robustness here.

2008-12-31 14:51  John-Mark Bell  <jmb@netsurf-browser.org>

	* include.c: Fix buffer overflow. This entire thing needs replacing
	with environment variable lookup, anyway.

2008-12-31 14:15  John-Mark Bell  <jmb@netsurf-browser.org>

	* decode.c: Fix handling of SUBS -- when you're potentially going
	to put a character back on the input stream, you need to use
	inputGet(), and not inputGetUC().

2008-12-31 14:14  John-Mark Bell  <jmb@netsurf-browser.org>

	* regression/Makefile: Fixup regression test makefile to not assume
	that we're gcc's backend assembler.
	Don't bother linking the output, as we can compare the intermediate
	objects.

2008-12-22 21:07  John Tytgat  <John.Tytgat@aaug.net>

	* .: Ignore the autotool generated files.

Sun Dec 14 16:56:28 CET 2008  John Tytgat  <John.Tytgat@aaug.net>

	* Migrated GCCSDK 3.4.6 'as' as 'objasm' in GCCSDK 4.1.1 and brought
	its build up to date.
	* Removed the unimplemented -gas option.
	* Made ELF output format default and provided new option -aof for AOF
	output format.

2008-05-10 16:02  Peter Naulls  <peter@chocky.org>

	* commands.c, commands.h, decode.c, symbol.c: Add dummy TTL and
	SUBT commands (Title, Subtitle) for objasm comaptiblity
	Allow register name symbosl to be redefined. This looks to be consistent
	with objasm.

2008-05-06 03:03  Peter Naulls  <peter@chocky.org>

	* error.c, include.c, symbol.c: Warning fixes.

2008-04-21 03:26  Peter Naulls  <peter@chocky.org>

	* Makefile, input.c: The assebler wasn't correctly replacing
	variables in strings. This caused some of the macros in use in the
	RISC OS 5 source to break. This change makes it more like objasm -
	variables in strings are replaced, and if they don't match, they're
	left alone.

	With this and previous improvements, I have been able to build a
	working !Paint using GCC.

	This change is a bit invasive, so any review is appreciated.

2008-04-20 05:40  Peter Naulls  <peter@chocky.org>

	* include.c: Correct logic, otherwise the APCS processing is missed
	for second try.

2008-04-20 05:14  Peter Naulls  <peter@chocky.org>

	* commands.c, commands.h, decode.c, include.c, lexAcorn.c: objasm
	compatibility improvements. Support <APCS> in include paths. Try
	harder for variations on include filenames with no extension. Add
	in dummy opt variable.

2006-10-14 15:38  John Tytgat  <John.Tytgat@aaug.net>

	* output.c: Set the ARM EABI version to 0 (which is EF_ARM_ABI_UNKNOWN)
	instead of EF_ARM_CURRENT (which was version 2) as we're not complying
	to any of the ARM EABI versions.

2006-10-02 01:58  John Tytgat  <John.Tytgat@aaug.net>

	* include.c, include.h, main.c, version.h: No longer using a fixed
	limit on number of include directories (was 40); Increased version
	number to 1.46.

2006-09-17 15:49  Peter Naulls  <peter@chocky.org>

	* include.c: Raise needlessly low limit (jmb's change meant that more
	complex programs easily have more than 10 paths).

2006-09-15 00:50  John Tytgat  <John.Tytgat@aaug.net>

	* aoffile.h, area.c, area.h, asm.c, asm.h, chunkfile.h, code.c,
	code.h, commands.c, commands.h, decode.c, decode.h, depend.c,
	depend.h, error.c, error.h, eval.c, eval.h, expr.c, expr.h,
	filestack.c, filestack.h, fix.c, fix.h, get.c, get.h, global.h,
	help_cop.c, help_cop.h, help_cpu.c, help_cpu.h, help_eval.c,
	help_eval.h, help_lex.c, help_lex.h, include.c, include.h,
	input.c, input.h, lex.c, lex.h, lexAcorn.c, lit.c, lit.h,
	local.c, local.h, m_cop.c, m_copmem.c, m_cpu.c, m_cpu.h,
	m_cpuctrl.c, m_cpumem.c, m_fpu.c, m_fpu.h, m_fpumem.c, macros.c,
	macros.h, main.c, main.h, mnemonics.h, option.c, option.h, os.h,
	output.c, output.h, put.c, put.h, reloc.c, reloc.h, riscos_c.c,
	storage.c, storage.h, strdup.c, symbol.c, symbol.h, targetcpu.c,
	targetcpu.h, value.c, value.h, variables.c, variables.h,
	whileif.c, whileif.h: Updated Copyright statements based on
	contribution history in cvs/svn.

2006-09-14 00:01  John-Mark Bell  <jmb@netsurf-browser.org>

	* commands.c, include.c, input.c, lex.c, main.c, main.h, version.h:
	Remove gcc_backend option & associated code. This was solely support
	for @ as a comment indicator. It appears to be unnecessary now as
	GCCSDK builds without it; Fix include processing to handle hdr.foo
	and foo.hdr correctly; Bump version number.

2006-09-06 21:47  John-Mark Bell  <jmb@netsurf-browser.org>

	* code.c, decode.c, fix.c, fix.h, get.c, get.h, lex.c, lex.h,
	m_cop.c, m_copmem.c, m_cpu.c, m_cpu.h, m_cpuctrl.c, m_cpumem.c,
	mnemonics.h, option.c, regression/branch.s, regression/copro.s,
	regression/dsp.s, regression/misc.s, reloc.c, reloc.h: Complete
	ARMv5E support. This adds support for the following instructions:

	  BKPT, BLX
	  CDP2, CLZ
	  LDC2, LDRD
	  MCR2, MCRR, MRC2, MRRC
	  QADD, QDADD, QDSUB, QSUB
	  SMLAxy, SMLALxy, SMLAWy, STC2, STRD

	Additionally:

	  Fix BX detection to be case insensitive.
	  Fix Coprocessor 1 detection for pedantic FP warning.
	  Fix opcode1 generation for MCR/MRC.

2006-09-06 21:43  John-Mark Bell  <jmb@netsurf-browser.org>

	* help_cop.c: Tidy up numeric offset handling (no longer accepts
	{+/-}#NN). Make FP stack handling (LFMFD etc) less intrusive.
	Add support for Unindexed LDC/STC addressing (eg LDC p0,c0,[R0],{16})
	* m_cop.c: Minor tidying.
	* m_copmem.c: Fix coprocessor detection such that it actually works.
	* m_cpumem.c: Tidy up numeric offset handling for LDR etc (no longer
	accepts {+/-}#NN); Fix PLD encoding to assemble PLD [R0, #-4]
	correctly.
	* main.c: Fix ELF output to not append AOF output, too.

2006-09-06 21:42  John-Mark Bell  <jmb@netsurf-browser.org>

	Testcases for instruction generation (up to, and including ARMv5TE):
	* regression/Makefile: New, processes all regression tests.
	* regression/arithmetic1.s: Data processing instructions using
	addressing mode 1.
	* regression/arithmetic2.s: Multiply/multiply accumulate.
	* regression/branch.s: Branch instructions.
	* regression/copro.s: Coprocessor instructions (addressing mode 5).
	* regression/dsp.s: Enhanced DSP extensions.
	* regression/fp.s: FPA instructions.
	* regression/loadstore.s: A selection of LDR{B,H,SB,SH} instructions.
	* regression/loadstore2.s: Load/Store instructions using addressing
	modes 2 & 3.
	* regression/loadstore3.s: Load/Store multiple (addressing mode 4).
	* regression/misc.s: Miscellaneous other instructions.

2006-09-06 21:41  John-Mark Bell  <jmb@netsurf-browser.org>

	* m_cpumem.c: Fix LDR|STR{H,SH,SB} Rd,[Rn] - was encoding as
	... Rd,[Rn,R0].
	* regression/loadstore2.s: Add regression test for full set of
	(non-multiple) load/store operations.

2006-09-06 21:19  Peter Naulls  <peter@chocky.org>

	* main.c, targetcpu.c, targetcpu.h: Create a TARGET_CPU assembler
	variable.

2006-07-16 16:43  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile: Add riscos-dist rule.

2006-06-26 03:09  Peter Naulls  <peter@chocky.org>

	* decode.c: Accidental removal.

2006-06-26 01:56  Peter Naulls  <peter@chocky.org>

	* decode.c, m_cpu.c, m_cpu.h, mnemonics.h: Support additiona ARMv5
	instructions

2006-06-08 09:28  Peter Naulls  <peter@chocky.org>

	* input.c: Fall back for filenames like the compiler does

2006-06-07 14:24  Peter Naulls  <peter@chocky.org>

	* get.c: Fix range

2006-06-06 22:20  John Tytgat  <John.Tytgat@aaug.net>

	* fix.c (fixImm8s4): fussy output via errorLine	had missing printf
	format specifiers which could lead to crashes.
	(fixImm8s4, fixImmFloat): small constify change; upcasing opcodes.
	* main.c (as_help): clarified -fussy and -soft-float options a bit
	more.

2006-06-06 05:55  Peter Naulls  <peter@chocky.org>

	* fix.c, get.c: Support for rotated constants

2006-05-16 00:07  John Tytgat  <John.Tytgat@aaug.net>

	* main.c: Check on conflicting APCS options

2006-05-10 23:02  John Tytgat  <John.Tytgat@aaug.net>

	* help_cpu.c, lex.c, local.c, symbol.c: Remove compiler warnings

2006-03-09 22:59  John Tytgat  <John.Tytgat@aaug.net>

	* ChangeLog: Removed, was no longer kept up-to-date.
	* area.c (c_align): ALIGN statement on its own in an uninitialised
	area sets a non-zero area size without allocating area memory
	leading to a crash at outputAof() time (solving bug 149); Support of
	ALIGN <offset> parameter.
	* area.c (c_reserve): reorganised code a bit so it looks more similar
	to c_align().
	* area.c (c_area): Support for ALIGN area attribute.
	* area.h (AREA:type): Add comment.
	* version.h (AS_VERSION): Bumped version to 1.44.
	* output.c: A bit of code cleanup (like using AREA_IMAGE() macro);
	(outputAof): pad unaligned data at end of area with zero bytes instead
	of random bytes.

2005-10-08 18:57  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile: Added -W for more compiler warnings.
	* area.c: Added more checks for conflicting area attributes; Add
	logic dealing when COMMON/COMREF and COMMON/NOINIT attributes are
	specified.
	* area.h: Defined AREA_MASKBASEREGS.
	* commands.c (c_import): New IMPORT options "COMMON", "NOCASE" and
	"FPREGARGS".
	* input.c (inputUnGet/inputPutBack): Disabled debug printf.
	* symbol.c (EqSymLex): use memcmp() instead of for() loop.
	* symbol.c (symbolAdd): Changed printf '%*s' into '%.*s'; no longer
	give an error when symbol is defined with a same name as an existing
	area as long its value is the same.
	* symbol.c (symbolSymbolOutout): Value of COMMON symbol was always
	0 and not its real value.
	* symbol.h: Updated the symbol attribute definitions.
	* variables.c: Changed printf '%*s' into '%.*s'; Removed compiler
	warning signed/unsigned.
	* version.h: Bumped version to 1.43.
	* Various src cleanups.

2005-10-06 19:43  John Tytgat  <John.Tytgat@aaug.net>

	* area.c, area.h: Relocated the SOFTFLOAT AOF area attribute from
	bit 27 to bit 31 as area bits 24 - 27 (incl) are already used for
	specifying the 'base register for base area'.

2005-08-10 00:25  John Tytgat  <John.Tytgat@aaug.net>

	* main.c, output.c, version.h: Use __VERSION__ in version string
	too so that it is more clear from which GCCSDK release the binaries
	come from.

2005-07-23 21:33  John Tytgat  <John.Tytgat@aaug.net>

	* Makefile: Move the #define of _GNU_SOURCE to the individual
	riscos-aof projects which require this. CMunge is explicitly not
	compiled with _GNU_SOURCE because it is known to have slashes like
	getline() and stricmp().

2005-07-23 01:11  John Tytgat  <John.Tytgat@aaug.net>

	* output.c, symbol.c, symbol.h: Drop the "Creator: " part of the
	IDFN string; The STRT first word should be the unaligned length of
	the STRT chunk; Make a clear difference between the official AOF
	symbol attributes and the internal AS AOF symbol attributes and only
	write the former set of attributes in the AOF file.

2005-06-22 21:40  John Tytgat  <John.Tytgat@aaug.net>

	* fix.c (fixImm8s4): fix for previous version which wrongly
	assumed that MOV vs MVN and AND vs BIC immediate constants differ in
	sign (they differ in two-complement).

2005-06-17 10:10  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile, input.c, main.c: Revert hacks that accidently made it
	into the last commit.

2005-06-17 10:05  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile, area.c, commands.c, filestack.h, fix.c, hash.c, hash.h,
	help_cpu.h, input.c, lex.c, m_fpu.h, main.c, reloc.c, reloc.h,
	strdup.c, variables.c: Move hashstr function into lex.c for better
	optimisation. Minor code factoring improvements.

2005-05-31 21:34  John Tytgat  <John.Tytgat@aaug.net>

	* config.h: Check for stricmp() existence: HAVE_STRICMP; Indicate
	support cpu_type=POWERPC and os_type=DARWIN.

2005-05-25 07:47  John Tytgat  <John.Tytgat@aaug.net>

	* filestack.c, filestack.h: Removed useless const on return value
	(resulting in a compiler warning anyway).

2005-05-20 09:11  Nick Burrett  <nick@sqrt.co.uk>

	* lexAcorn.c, main.c, main.h: RMA module support. Accept '-module'
	option and set 'MODULE' to true if switch passed on command line.

2005-05-13 20:48  Peter Naulls  <peter@chocky.org>

	* area.c: Ignore REL area attribute

2005-05-11 15:45  Peter Naulls  <peter@chocky.org>

	* m_cpuctrl.c: Correct BX bit pattern

2005-05-04 13:20  Peter Naulls  <peter@chocky.org>

	* error.c, riscos_c.c: Fix throwback reason code

2005-05-04 09:22  Peter Naulls  <peter@chocky.org>

	* m_cpuctrl.c: Add warnings for BX

2005-05-03 22:42  Peter Naulls  <peter@chocky.org>

	* decode.c, m_cpuctrl.c, mnemonics.h: Add BX instruction, which GCC
	outputs for ARMv5 targets.

2005-05-02 11:24  Peter Naulls  <peter@chocky.org>

	* lexAcorn.c, m_fpu.c, m_fpumem.c: Complain about FP instructions
	when -soft-float is specified. Add a soft-float macro value.

2005-04-29 21:00  Peter Naulls  <peter@chocky.org>

	* area.c, area.h, main.c, main.h: Add soft-float support to tools

2005-04-29 10:51  Peter Naulls  <peter@chocky.org>

	* depend.c, depend.h, help_cop.c, help_cop.h, local.c, local.h,
	macros.c, macros.h, main.h, output.c, strdup.c, targetcpu.c,
	targetcpu.h, whileif.c, whileif.h: Update copyright further.

2005-04-25 14:47  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile, config.h, error.c, main.c, os.h, os.s, riscos_c.c,
	targetcpu.c: For stage 2 builds, use intermodule-analysis during
	compilation. Delete assembler file and re-write functions in C.

2005-04-24 10:11  Peter Naulls  <peter@chocky.org>

	* COPYING, aoffile.h, area.c, area.h, asm.c, asm.h, chunkfile.h,
	code.c, code.h, commands.c, commands.h, decode.c, decode.h,
	error.c, error.h, eval.c, eval.h, expr.c, expr.h, fix.c, fix.h,
	get.c, get.h, global.h, help_cpu.c, help_cpu.h, help_eval.c,
	help_eval.h, help_lex.c, help_lex.h, input.c, input.h, lex.c,
	lex.h, lexAcorn.c, lit.c, lit.h, m_cop.c, m_copmem.c, m_cpu.c,
	m_cpu.h, m_cpuctrl.c, m_cpumem.c, m_fpu.c, m_fpu.h, m_fpumem.c,
	main.c, mnemonics.h, option.c, option.h, output.c, output.h,
	put.c, put.h, reloc.c, reloc.h, riscos_c.c, storage.c, storage.h,
	symbol.c, symbol.h, value.c, value.h, variables.h: Relicense
	where appropriate to GPL - permission given by Niklas Röjemo.

2005-04-20 13:20  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile, area.c, asm.c, code.c, commands.c, config.h, decode.c,
	error.c, expr.c, filestack.c, get.c, help_cop.c, help_eval.c,
	input.c, lex.c, lexAcorn.c, lit.c, local.c, m_cop.c, m_copmem.c,
	m_cpu.c, m_cpuctrl.c, m_cpumem.c, m_fpu.c, m_fpumem.c, macros.c,
	main.c, option.c, os.h, output.c, put.c, reloc.c, riscos_c.c,
	storage.c, strdup.c, symbol.c, value.c, variables.c, whileif.c:
	Work around a problem of building a native RISC OS binary by
	supplying a default configuration that works for UnixLib and for
	the SCL.

2005-04-07 18:47  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile, output.c: (outputFinish): Once objfile is closed, set
	NULL to prevent a possible double free bug.

2005-01-30 12:00  Peter Naulls  <peter@chocky.org>

	* include.c: fix bracket placement

Sun Jan 30 00:50:54 2005  John Tytgat  <John.Tytgat@aaug.net>

	* Changed #define tests on __riscos__ into CROSS_COMPILE tests.
	* Makefile: OBJS in alphabetic order.
	* asm.{c,h}: asm_() -> assemble()
	* commands.c, include.{c,h}: No longer using FILE ptr to
	canonicalise to full path via OSArgs 7. This fixes bug #132.
	* depend.c: Made it more robust; Added dependInit() and
	dependFinish().
	* error.c: Output Throwback errors when verbose is set.
	* filestack.{c,h}, whileif.h: Removed fileNo, fileCurrentNo (wasn't
	really used).
	* os.{h,s}: Removed unused bits; Made APCS-32 compliant.
	* version.h: Bumped version to 1.42.

2004-12-20 18:07  Peter Naulls  <peter@chocky.org>

	* get.c, m_cop.c: Co-processor register support, from John-Mark
	Bell.

2004-12-20 10:45  Peter Naulls  <peter@chocky.org>

	* lex.c, local.c, output.c: Improve error messages. Set output
	filetype to text when using SCL.

2004-12-14 23:30  Peter Naulls  <peter@chocky.org>

	* Makefile, include.c, input.c, output.c, riscos_c.c, strdup.c,
	uname.c, uname.h: Use libscl instead of Unixlib. Remove some of
	the complexity in filename handling.

2004-11-30 19:54  Peter Naulls  <peter@chocky.org>

	* decode.c, m_cpumem.c, mnemonics.h: Add support for ARMv5 PLD
	instruction.

2004-10-17 16:00  John Tytgat  <John.Tytgat@aaug.net>

	* ChangeLog, aoffile.h, area.c, area.h, asm.c, asm.h, chunkfile.h,
	code.c, code.h, commands.c, commands.h, decode.c, decode.h,
	depend.c, depend.h, elf.h, error.c, error.h, eval.c, eval.h,
	expr.c, expr.h, filestack.c, filestack.h, fix.c, fix.h, get.c,
	get.h, global.h, hash.c, hash.h, help_cop.c, help_cop.h,
	help_cpu.c, help_cpu.h, help_eval.c, help_eval.h, help_lex.c,
	help_lex.h, include.c, include.h, input.c, input.h, lex.c, lex.h,
	lexAcorn.c, lit.c, lit.h, local.c, local.h, m_cop.c, m_copmem.c,
	m_cpu.c, m_cpu.h, m_cpuctrl.c, m_cpumem.c, m_fpu.c, m_fpu.h,
	m_fpumem.c, macros.c, macros.h, main.c, main.h, mnemonics.h,
	option.c, option.h, os.h, os.s, output.c, output.h, put.c, put.h,
	reloc.c, reloc.h, riscos.s, riscos_c.c, rname.c, rname.h,
	storage.c, storage.h, strdup.c, symbol.c, symbol.h, targetcpu.c,
	targetcpu.h, uname.c, uname.h, value.c, value.h, variables.c,
	variables.h, version.h, whileif.c, whileif.h: Various fixes &
	cleanups.

2004-09-23 10:31  Peter Naulls  <peter@chocky.org>

	* output.c, output.h: Recorrect endian handling.

2004-09-19 13:01  Peter Naulls  <peter@chocky.org>

	* output.c, output.h: Fix for big endian.

2004-08-16 14:30  Nick Burrett  <nick@sqrt.co.uk>

	* area.c, area.h: Implement a new AREA attribute called LINKONCE
	that merges COMDEF areas but does not compare the contents of the
	COMDEF areas for a match.
	This is to aid C++ vtables created by the compiler which can be
	duplicated between different object files.

2004-08-16 13:45  Nick Burrett  <nick@sqrt.co.uk>

	* area.c: Fix COMDEF area definition.

2004-08-13 10:52  Nick Burrett  <nick@sqrt.co.uk>

	* main.c, output.c, output.h, riscos_c.c: Fixes for -funit-at-a-time
	compilation.

2004-06-18 16:54  Nick Burrett  <nick@sqrt.co.uk>

	* input.s: Import GCC snapshot from 20040618.

2004-01-21 20:16  Nick Burrett  <nick@sqrt.co.uk>

	* main.c: Tony van der Hoff: Increase 'as' compatibility with
	objasm when the -objasm flag is set on the command line:

	The token '@' will be treated as the current location counter, as
	used by objasm, instead of as an introduction to a comment, which is
	required in GCC mode.

2003-11-23 14:31  Nick Burrett  <nick@sqrt.co.uk>

	* put.c: Fix a segfault caused by the attempted output of an
	unaligned word at the start of the AREA e.g.

	  AREA |foo|, DATA
	  ALIGN 2
	  DCD 1

2003-10-29 08:11  Peter Naulls  <peter@chocky.org>

	* area.c, reloc.c, symbol.c: Relocation fixes from David Marston.

2003-10-25 20:51  Peter Naulls  <peter@chocky.org>

	* output.c: Really fix it this time

2003-10-25 20:44  Peter Naulls  <peter@chocky.org>

	* output.c: Further fix for ELF output from David Marston.

2003-10-22 18:24  Peter Naulls  <peter@chocky.org>

	* output.c, symbol.c, symbol.h: Fixes from David Marston to fix ELF
	output after yesterday's general fixes.

2003-10-22 14:05  Peter Naulls  <peter@chocky.org>

	* asm.c, code.c, commands.c, symbol.c: David Marston's fixes for
	area handling.

2003-10-20 20:47  Peter Naulls  <peter@chocky.org>

	* asm.c, code.c, elf.h, main.c, output.c, output.h, reloc.c,
	reloc.h, symbol.c, symbol.h: 'as' ELF output by David Marston.
	Please test.

2003-10-06 09:25  Nick Burrett  <nick@sqrt.co.uk>

	* commands.c: EXPORT should set the SYMBOL_GLOBAL flag rather than
	SYMBOL_REFERENCE.

2003-08-18 18:08  Nick Burrett  <nick@sqrt.co.uk>

	* area.c, main.c, output.c, version.h: BUG 104: Bump version to
	1.40 to differentiate from other distributions of 'as'. Clean up
	description a little.

2003-06-24 09:33  Peter Naulls  <peter@chocky.org>

	* m_cpumem.c, regression, regression/loadstore.s, targetcpu.c,
	targetcpu.h: Fix behaviour of ldr/str h/sb
	Add some token XScale support
	Add a regression test for ldr cases, since it has caused so much
	trouble.

2003-06-23 10:18  Peter Naulls  <peter@chocky.org>

	* asm.c, commands.c, include.c, input.c, input.h, lex.c, main.c,
	riscos_c.c, uname.h: as fixes from Tony van der Hoff:

	Added various comments to the code, to help me understand it.

	GET files were not being found via the -I path:
	added some debuggging code in as/include.c; found that "." was
	being used as directory separator.
	- In as/uname.h changed switch from "#ifdef UNIX" to "#if defined
	  CROSS_COMPILE"

	Local labels with default scope were giving warning:
	"Assumed 'a' in local label name". This is not a dodgy code
	warning, but a warning that the range qualifiers for local labels is
	not implemented.
	- changed lex.c to produce more appropriate warning, and wrapped
	warning under "pedantic".

	AS barfed on variable substitution operator "$":
	- inputUnGet() called from lexGetId() assumes that the input
	buffer is pointed to by |input_buff|. It isn't in this case. The check
	against the buffer seems superfluous anyway. Fixed by introducing a
	variant form of inputUnGet(), imaginitively called inputPutBack().

2003-06-02 22:29  Peter Naulls  <peter@chocky.org>

	* lex.c, symbol.h: More spelling corrections.

2003-06-02 22:22  Peter Naulls  <peter@chocky.org>

	* symbol.c: Correct spelling of "table".

2003-06-02 22:19  Peter Naulls  <peter@chocky.org>

	* output.c, symbol.c: More corrections for Big Endian host output,
	including endian function that actually works.

2003-06-02 20:31  Peter Naulls  <peter@chocky.org>

	* Makefile, output.c, output.h, reloc.c: Big Endian host support
	for 'as' output. Add in liberty for stpcpy on IRIX

2003-04-21 16:27  Peter Naulls  <peter@chocky.org>

	* Makefile, decode.c, get.c, include.c, input.c, input.h, lex.c,
	m_cpu.c, macros.c, os.h, riscos_c.c, rname.c, rname.h, rname2.c,
	strdup.c, symbol.c, variables.c, whileif.c: Improved filename
	handling for GET from 2.95 branch.
	Reinstate strdup from branch.

2003-04-20 22:30  Peter Naulls  <peter@chocky.org>

	* get.c, main.c, uname.h: 32-bit changes.

2003-04-15 09:17  Peter Naulls  <peter@chocky.org>

	* m_cpu.c: Add 32-bit warning.

2003-04-06 14:25  Peter Naulls  <peter@chocky.org>

	* m_cpumem.c: Post increment warning from 2.95.4 branch.

2003-01-02 10:24  Nick Burrett  <nick@sqrt.co.uk>

	* m_cpumem.c: Peter Naulls: Fix incorrect generation of pre/post
	index instructions.

2002-12-22 21:38  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile, os.h, strdup.c: Drop strdup. It is provided by Unixlib.

2002-12-22 18:30  Nick Burrett  <nick@sqrt.co.uk>

	* os.h: Changes for new UnixLib riscosify and resolver code.

2002-09-24 21:05  Nick Burrett  <nick@sqrt.co.uk>

	* code.c, commands.c, decode.c, decode.h, error.c, error.h,
	filestack.c, get.c, hash.c, help_cop.c, help_cop.h, include.c,
	lex.c, lex.h, lexAcorn.c, local.c, local.h, m_cop.c, m_cpu.c,
	m_cpuctrl.c, m_fpu.c, macros.c, macros.h, main.c, main.h, os.h,
	output.c, output.h, reloc.c, riscos_c.c, strdup.c, symbol.c,
	targetcpu.h, value.c, version.h, whileif.c: Merge release_2_95
	branch to mainline (20020924).

2002-02-14 15:56  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile, area.c, commands.c, decode.c, error.c, eval.c, get.c,
	include.c, input.c, input.c.broke, lex.c, lexAcorn.c, local.c,
	m_cpumem.c, macros.c, main.c, os.h, output.c, reloc.c,
	riscos_c.c, strdup.c, strdup.h, symbol.c, targetcpu.c, uname.c,
	value.c, variables.c, whileif.c: Merge all bug from the
	release_2_95 branch to mainline (20020214).

2001-08-01 07:59  Nick Burrett  <nick@sqrt.co.uk>

	* decode.c, input.c, input.h, lex.c, macros.c, variables.c,
	whileif.c: Accept dots in labels.

2001-07-25 15:28  Nick Burrett  <nick@sqrt.co.uk>

	* input.c: Support dots in labels without having to revert to
	enclosing the label in |...|.

2001-07-23 15:51  Nick Burrett  <nick@sqrt.co.uk>

	* aoffile.h, area.h, chunkfile.h, os.h, symbol.h: Change uint32_t
	to unsigned int.
	Change int32_t to int.
	This fixes a problem with older machines that don't support C99.

2001-03-26 13:05  Nick Burrett  <nick@sqrt.co.uk>

	* endian.c, endiandef.h, output.c: Use AUTOCONF based endian-ness
	detection.

2001-03-20 15:00  Nick Burrett  <nick@sqrt.co.uk>

	* commands.c, os.h, os.s, riscos_c.c: Attempt to display correct
	file names in error messages.

2001-03-20 14:50  Nick Burrett  <nick@sqrt.co.uk>

	* decode.c, macros.c, whileif.c: Darren Salt: Fix up some |label|
	handling. Errors are generated for unterminated |...| e.g. |...\n.
	Replace some hard-coded limits with macros.

2001-03-20 14:49  Nick Burrett  <nick@sqrt.co.uk>

	* lex.c, lexAcorn.c: Darren Salt: Implement :DEF: and {var}
	:DEF:foo = true if foo exists when the expression is evaluated.
	{var} is a synonym for @.
	Fault usage of ?, reporting that it is unimplemented.

2001-03-20 14:47  Nick Burrett  <nick@sqrt.co.uk>

	* get.c, hash.c, help_cpu.c: Make the cpu_regs, T and mask arrays
	const.

2001-01-04 10:27  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile: Add executable suffix (,ff8) support.

2001-01-02 09:30  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile: Makefile and configuration re-structure.

2000-12-27 16:10  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile: Autoconf configuration support.

2000-12-27 14:31  Nick Burrett  <nick@sqrt.co.uk>

	* endiandef.h: Add missing #if from last change.

2000-12-27 14:30  Nick Burrett  <nick@sqrt.co.uk>

	* endiandef.h: Include endian.h or machine/endian.h here. Fix to
	work with header files that define BYTE_ORDER but not __BYTE_ORDER.

2000-12-27 14:29  Nick Burrett  <nick@sqrt.co.uk>

	* endian.c: Don't include endian.h or machine/endian.h

2000-12-27 14:22  Nick Burrett  <nick@sqrt.co.uk>

	* m_fpumem.c: Include sdk-config.h.

2000-12-27 14:20  Nick Burrett  <nick@sqrt.co.uk>

	* m_cpuctrl.c, m_fpu.c: Include sdk-config.h.

2000-12-27 14:19  Nick Burrett  <nick@sqrt.co.uk>

	* error.c: Include sdk-config.h and conditionally include stdint.h
	or inttypes.h.

2000-12-27 14:16  Nick Burrett  <nick@sqrt.co.uk>

	* area.c, asm.c, code.c, commands.c, decode.c, endian.c, expr.c,
	filestack.c, get.c, help_cop.c, help_eval.c, input.c, lex.c,
	lexAcorn.c, lit.c, local.c, m_cop.c, m_copmem.c, m_cpu.c,
	m_cpumem.c, macros.c, main.c, option.c, output.c, put.c, reloc.c,
	storage.c, symbol.c, value.c, variables.c, whileif.c: Include
	sdk-config.h. Conditionally include inttypes.h or stdint.h.

2000-12-27 14:02  Nick Burrett  <nick@sqrt.co.uk>

	* cabs.s: Junk file. Was used for debug.

2000-12-27 14:01  Nick Burrett  <nick@sqrt.co.uk>

	* Makefile: Add path to top-level directory to compiler command
	line so that we may include the autoconf info.

2000-12-27 12:56  Nick Burrett  <nick@sqrt.co.uk>

	* test.c: A junk file.

2000-11-08 09:38  Nick Burrett  <nick@sqrt.co.uk>

	* ., Makefile, aoffile.h, area.c, area.h, asm.c, asm.h, cabs.s,
	chunkfile.h, code.c, code.h, commands.c, commands.h, decode.c,
	decode.h, depend.c, depend.h, endian.c, endiandef.h, error.c,
	error.h, eval.c, eval.h, expr.c, expr.h, filestack.c,
	filestack.h, fix.c, fix.h, get.c, get.h, global.h, hash.c,
	hash.h, help_cop.c, help_cop.h, help_cpu.c, help_cpu.h,
	help_eval.c, help_eval.h, help_lex.c, help_lex.h, include.c,
	include.h, input.c, input.c.broke, input.h, input.s, lex.c,
	lex.h, lexAcorn.c, lit.c, lit.h, local.c, local.h, m_cop.c,
	m_copmem.c, m_cpu.c, m_cpu.h, m_cpuctrl.c, m_cpumem.c, m_fpu.c,
	m_fpu.h, m_fpumem.c, macros.c, macros.h, main.c, mnemonics.h,
	option.c, option.h, os.h, os.s, output.c, output.h, put.c, put.h,
	reloc.c, reloc.h, riscos.s, riscos_c.c, storage.c, storage.h,
	strdup.c, strdup.h, symbol.c, symbol.h, targetcpu.c, targetcpu.h,
	test.c, uname.c, uname.h, value.c, value.h, variables.c,
	variables.h, version.h, whileif.c, whileif.h: Initial revision
